freeCodeCamp/guide/arabic/software-engineering/functional-programming/index.md

3.1 KiB

title localeTitle
Functional Programming برمجة وظيفية

برمجة وظيفية

البرمجة الوظيفية هي عملية بناء البرمجيات عن طريق تكوين وظائف نقية ، وتجنب الحالة المشتركة ، والبيانات القابلة للتغيير ، والآثار الجانبية . البرمجة الوظيفية هي تعريفية (تخبر الكمبيوتر بما تريد أن تفعله) بدلاً من حتمية (إخبار الكمبيوتر بالضبط كيف تفعل ذلك) ، وتتدفق حالة التطبيق من خلال وظائف نقية. قارنها بالبرمجة الموجهة للكائنات ، حيث تتم مشاركة حالة التطبيق عادة وتشترك مع طرق في الكائنات.

لماذا البرمجة الوظيفية؟

  • انها عموما أكثر إيجازا
  • انها عموما أكثر قابلية للتنبؤ
  • من السهل اختباره من الكود الموجه للكائن

تبني لغات البرمجة

تدعم العديد من لغات البرمجة البرمجة الوظيفية مثل Haskell و F # و Common Lisp و Clojure و Erlang و OCaml. يحتوي JavaScript أيضًا على خصائص لغة وظيفية غير مقيدة.

الاستخدامات

لطالما كانت البرمجة الوظيفية شائعة في الأوساط الأكاديمية ، ولكن مع عدد قليل من التطبيقات الصناعية. ومع ذلك ، فقد تم مؤخراً استخدام العديد من لغات البرمجة الوظيفية البارزة في الأنظمة التجارية أو الصناعية. على سبيل المثال ، يتم استخدام لغة برمجة Erlang ، التي طورتها شركة Ericsson السويدية في أواخر الثمانينات ، لبناء مجموعة من التطبيقات في شركات مثل T-Mobile و Nortel و Facebook و Électricité de France و WhatsApp.

وظائف الترتيب العالي

وظائف الدرجة العليا هي جزء كبير من البرمجة الوظيفية. دالة الترتيب الأعلى هي دالة تقوم إما بدالة (وظائف) كمعلمة أو تقوم بإرجاع دالة.

خريطة

map هي دالة ذات ترتيب أعلى تستدعي دالة لكل عنصر من عناصر القائمة ، وتقوم بإرجاع النتائج كقائمة جديدة .

في ما يلي مثال على map :

`const myList = [6, 3, 5, 29];

let squares = myList.map(num => num * num); // [36, 9, 25, 841] `

معلومات اكثر: