البرمجة الوظيفية بلغة C++: نهج حديث
300 صفحات
Arabic
PDF
4.5

البرمجة الوظيفية بلغة C++: نهج حديث

البرمجة الوظيفية بلغة C++: نهج حديث

المؤلف:

السنة:

ملخص:

كتاب "البرمجة الوظيفية بلغة C++" هو دليل عملي للمطورين الذين يرغبون في تجاوز النهج الأمرّي التقليدي وإتقان النماذج الوظيفية في سياق لغة C++ الحديثة (معايير C++17/20). يوضح المؤلف كيفية استخدام قوة اللغة - من تعبيرات لامدا والقوالب إلى حاويات STL - لإنشاء كود أكثر قابلية للتنبؤ والاختبار والإيجاز.



عن ماذا يتحدث هذا الكتاب

  • أساسيات البرمجة الوظيفية في C++: الدوال النقية، ثبات البيانات، غياب الآثار الجانبية. كيف تعمل هذه المبادئ على تحسين قابلية القراءة وتصحيح الأخطاء.
  • تعبيرات لامدا والإغلاقات: من الدوال المجهولة البسيطة إلى الإغلاقات المعقدة مع التقاط المتغيرات. أمثلة لخوارزميات STL.
  • تركيب الدوال والكاري: إنشاء سلاسل استدعاء باستخدام std::function والموحدات المخصصة. تنفيذ خطوط أنابيب معالجة البيانات.
  • المونادات والوظائف في C++: أنماط Maybe و Either و State على القوالب. معالجة الأخطاء بدون استثناءات.
  • الحسابات الكسولة والتسلسلات اللانهائية: توليد النطاقات، التخزين المؤقت، التحميل المتأخر باستخدام std::generator (C++23) والمكررات المخصصة.
  • التوازي والنهج الوظيفي: استخدام std::async و std::future وخطوط الأنابيب الوظيفية للخيوط المتعددة الآمنة.


لمن هذا الكتاب

  • مطورو C++ ذوو الخبرة الذين يرغبون في كتابة كود أنظف وأكثر نمطية.
  • المبرمجون الملمون باللغات الوظيفية (Haskell, Scala) ولكنهم يعملون بلغة C++.
  • الطلاب والمهندسون الذين يدرسون نماذج البرمجة الحديثة.


ماذا ستتعلم

  • كيفية استبدال الحلقات والتحويرات بتحويلات البيانات باستخدام std::transform و std::accumulate والخوارزميات المخصصة.
  • كيفية تصميم واجهات برمجة التطبيقات (API) باستخدام التركيب بدلاً من الوراثة.
  • كيفية اختبار الدوال بشكل منفصل، دون الاعتماد على الحالة العامة.
  • كيفية تنفيذ نمطي "الاستراتيجية" و"الأمر" باستخدام الكائنات الوظيفية.


يحتوي الكتاب على العديد من أمثلة الكود والتمارين والمشكلات العملية. ستتعلم كيفية الجمع بين التقنيات الوظيفية والأمرّية، واختيار النهج الأمثل لكل مهمة. بعد القراءة، ستتمكن من كتابة كود بلغة C++ يسهل صيانته وتوسيعه وتصحيح أخطائه.



هذا الإصدار مناسب للدراسة الذاتية وكذلك للاستخدام كمرجع للتقنيات الوظيفية في لغة C++.

توصيات