البرمجة الوظيفية Functional programming
المعلوماتية >>>> برمجيات
تُعَد البرمجة الوظيفية Functional Programming واحدة من العديد من النماذج paradigms المُستخدمة في تطوير البرمجيات، ومن هذه النماذج نموذج *البرمجة غرضية التوجه Object-Oriented Programming paradigm، والبرمجة المُهيكلة أو المنظمة Structured Programming، والبرمجة التصريحية Declarative Programming، والبرمجة الحتمية Imperative programming وغيرها من النماذج (2).
تهدف البرمجة الوظيفية إلى هيكلة البرامج بطريقة مشابهة لتعريفاتها الرياضية. على سبيل المثال، يستخدم مفهوم العودية Recursion (استدعاء التابع على نحو متكرر عند الحاجة) بدلًا من الحلقات Loops، وغالبًا ما تكون قيمة المتغيرات ذات قيم ثابتة وليست قيمًا متغيرة فعلية، والتوابع هي كائنات من الدرجة الأولى، مما يعني أنه يمكن تمرير التوابع إلى توابع أخرى بوصفها متحولات مستقلة Arguments (1).
حتى نقول عن لغة برمجة ما إنها لغة برمجة وظيفية لا بد من توفر مجموعة من الخصائص، منها:
هناك العديد من اللغات البرمجية التي تدعم هذا النموذج، منها لغة #C ولغة #F ولغة python، ومنها ما يدعم فقط النموذج الوظيفي (مثل لغة Haskell) ومنها ما تدعمها على نحو كبير، ولكن مع دعم لنماذج أخرى (مثل لغة Lisp أو Erlang). (3)
الهوامش:
2. Functional programming [Internet]. Cs.lmu.edu. [cited 23 September 2020]. Available from: هنا
3. Functional Programming [Internet]. Ics.uci.edu. 2016 [cited 23 September 2020]. Available from: هنا