مغامرات في البرمجة |
التعرّف على أداء اللغات البرمجية المختلفة عند مناولة كتلة نصّية كبيرة الحجم.
في لغات البرمجة الدالية واللغات التي تدعم المفاهيم الدالية functional concepts عموما، تكون الدالّة أو ال Function مواطن درجة أولى (first class citizen)، ويقال عنها أيضا دالة مستوى أعلى higher-order function (HOF)
ما معنى أن تكون الدالة و غيرها مواطن درجة أولى وذات مستوى أعلى في لغات البرمجة؟
تريد أن تتعرف على أساسيات البرمجة بالمنحى للكائن Object Oriented Programming لديك بعض الخبرة بالبرمجة و تريد أن تتعرف على المنحى للكائن و تفهمه استنادا إلى خبرتك هذه وانطلاقا مما تعرفه من تقنيات برمجية. تريد أن تتلمس بيدك كيف تكون البرمجة بالمنحى للكائن ، و ليس مجرد تعريفات ومصطلحات غامضة وشروحات طويلة مملة. إذا، و بدون مقدمات ، وبدون تمهيد نظري، دعنا نبدأ
أمست أصابعي معتادة على طباعة أحرف الأسماء الطويلة لبعض الإجرائيات و بسرعة كبيرة؛ لكن يظل الأمر مزعجا. لذا فكرت بأن أجد طريقة أريح بها أصابعي ودماغي من عناء تذكر وكتابة هذه الأسماء الطويلة؛ وذلك بتغليفها في إجرائيات ذات أسماء أقصر. إلا أن هذا الأمر قادني إلى مزيد من المغامرات لتشمل أيضا المهام التي يتكرّر استخدامها.
هذه المقالة محاولة للتقرب من مفاهيم البرمجة الدالّية عموما والبرمجة بلغة F# خصوصا. مدخلنا في ذلك إنشاء برنامج ويندوز مكتبي بسيط بإستخدام عناصر واجهة الاستخدام Windows Forms في بيئة .Net ومن خلاله سنرى ماذا تعني مفاهيم ومصطلحات مثل Immutability و Pattern matching و Functional programming و Recursive function و Type inference و Lambda وغيرها من المفاهيم.