برنامه نویسی تابعی

دسته بندی: مباحث عمومی

معرفی برنامه نویسی تابعی

برنامه نویسی تابعی یک پارادایم برنامه نویسی است، به این معنی که روش تفکر در مورد ساختن نرم افزار بر اساس برخی از اصول اساسی تعریف شده (ذکر شده در بالا) است. نمونه های دیگری از پارادایم های برنامه نویسی عبارتند از برنامه نویسی شی گرا و برنامه نویسی رویه ای. برنامه نویسی تابعی یک سبک برنامه نویسی است که محاسبات مدل ها را به عنوان ارزیابی عبارات انجام می دهد.

برنامه نویسی کاربردی یک سبک برنامه نویسی است که بر ارزیابی عبارات و نه اجرای فرمان ها تأکید دارد. زبان برنامه نویسی Erlang به عنوان یک زبان برنامه نویسی تابعی توصیف شده است. Erlang از استفاده از متغیرهای جهانی است که می تواند توسط توابع چندگانه مورد استفاده مشترک باشد اجتناب کند چرا که تغییر چنین متغیری در بخشی از یک برنامه ممکن است اثرات غیر منتظره ای را در بخش دیگری داشته باشد.

برنامه نویسی تابعی چیست؟

برنامه نویسی تابعی یک پارادایم است که بر نتایج محاسبات و نه بر انجام action تمرکز می کند. در واقع هنگامی که شما یک تابع را فراخوانی می کنید، تنها اثر قابل توجهی که عملکرد دارد، معمولا برای محاسبه مقدار و بازگشت آن است. البته، در پشت صحنه تابع از زمان CPU استفاده می کند و حافظه را می نویسد. اما از نظر برنامه نویسان، اثر اصلی مقدار بازگشتی است. آبجکت ها در یک زبان برنامه نویسی تابعی اغلب تغییرناپذیر هستند. به جای تغییر آبجکت شما یک آبجکت جدید را اختصاص می دهید.

برنامه ریزی تابعی مستلزم آن است که توابع first-class باشند، به این معنی که آنها مانند هر مقدار دیگری رفتار می شوند و می توانند به عنوان argument به توابع دیگر منتقل شوند یا به عنوان یک نتیجه از یک تابع بازگردانده شوند. first-class نیز بدین معنی است که امکان تعریف و دستکاری توابع از داخل توابع دیگر وجود دارد. توجه ویژه باید به توابع که متغیرهای محلی را از محدوده خود ارجاع می دهند، داده شود.

ویژگی های برنامه نویسی تابعی

  • دارای توابع Higher-order
  • دارای قابلیت Purity
  • داده های غیر قابل تغییر
  • ارزیابی lazy و اجتناب از محاسبات غیر ضروری
  • Recursion یا بازگشت
  • دارای توابع first-class
آیا این نوشته را دوست داشتید؟