برنامه نویسی تابعی یا همان functional Programming یکی از پارادیم های برنامه نویسی است که تو این روش توابع به عنوان شی اصلی تلقی میشن. یک سری ویژگی های کلیدی دارن که بهشون می پردازیم.
1- First Class Function
در این پارادیم ، توابع به عنوان اولین کلاس مد نظر قرار میگیرن. یعنی میتونیم آنها را به عنوان آرگومان به توابع دیگر بدیم، خروجی برگردانیم یا در متغیرها ذخیره کنیم.
2- State-less (pure function)
برنامه های تابعی تلاش میکنن که state-less باشن به این معنی که توابع باید فقط به ورودیهایی که میگیرد وابسته باشن و هیچ حالت داخلی یا متغیر جهانی را تغییر ندهد.
این رویکرد به ما کمک میکند تا کدهایی با قابلیت تست و نگهداری آسانتر بنویسیم، زیرا توابع همیشه یک نتیجه ثابت را برای ورودیهای ثابت بازمیگردانند.
3- Declarative and Control Flow
برنامه نویسی Declarative ، جریان کنترلی را انتزاع میدهد و که به برنامه نویس اجازه میدهد که منطق را بدون اینکه جزئیات مرحله به مرحله را به صورت صریح تعریف کند، استفاده کند. (high-level)
برنامه نویسی Imperative ، جریان کنترلی را به صوت صریح و با جزئیات بیشتری استفاده کند. (low-level)
برنامه نویسی تابعی بیشتر به صورت Declarative و کمتر به صورت Imperative استفاده میشن.
4- Functional Composition
برنامه نویسی تابعی ترجیح میدهد که توابع را به راحتی ترکیب شوند تا عمکلرد های پیچیده تری را انجام دهند. ترکیب دو یا چند تابع به گونهای است که خروجی تابع اول به عنوان ورودی تابع دوم عمل میکند.
در نهایت، برنامهنویسی تابعی یک انتخاب مناسب برای ساخت برنامه های پیچیده و مقیاسپذیر است، به خصوص الان که نیاز به قابلیت تست و نگهداری کد ها بیشتر از همیشه احساس میشه.