البرمجة الوظيفية بلغة Go (Golang)
300 صفحات
Arabic
PDF
4.5

البرمجة الوظيفية بلغة Go (Golang)

البرمجة الوظيفية بلغة Go (Golang)

المؤلف:

السنة:

ملخص:

هذا الكتاب هو دليل عملي لدمج نموذج البرمجة الوظيفية (FP) في نظام Go البيئي. على عكس Haskell أو Scala، فإن Go ليست لغة وظيفية بحتة، لكن إمكانياتها القوية (الإغلاقات، الدوال من الدرجة الأولى، الواجهات) تسمح بتطبيق المبادئ الأساسية للبرمجة الوظيفية بنجاح لإنشاء كود أكثر قابلية للتنبؤ والاختبار وأمانًا في التوازي.



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

يقدم الكتاب للقارئ بشكل متسلسل المفاهيم الأساسية للبرمجة الوظيفية ويوضح كيفية تنفيذها في Go:

  • الدوال النقية والثبات: كيفية تجنب الآثار الجانبية، وجعل الكود حتميًا وسهل الاختبار.
  • دوال الترتيب الأعلى: map, filter, reduce للشرائح والقنوات.
  • الإغلاقات والكاري: إنشاء مصانع للدوال والتطبيق الجزئي للوسائط.
  • تركيب الدوال: بناء خطوط أنابيب لمعالجة البيانات دون استدعاءات متداخلة.
  • التعامل مع الأخطاء عبر المونادات: بديل لـ if err != nil التقليدي — نمط Maybe (Option) و Either.
  • الحسابات الكسولة والتسلسلات اللانهائية: العمل الفعال مع البيانات الضخمة.
  • التوازي والمنهج الوظيفي: استخدام القنوات والجوروتينات بأسلوب وظيفي.


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

  • مطورو Go ذوو الخبرة من سنة فما فوق، الراغبون في كتابة كود أنقى وأكثر تصريحية.
  • مبرمجون على دراية بالبرمجة الوظيفية بلغات أخرى ويبحثون عن نظائرها في Go.
  • مهندسو البرمجيات الذين يسعون لتقليل عدد الحالات والتحولات في الخدمات المصغرة.


ماذا ستتعلم

  • كيفية كتابة دوال بدون آثار جانبية وإدارة الحالة عبر الإغلاقات.
  • كيفية استبدال الحلقات بالاستدعاء الذاتي ودوال الترتيب الأعلى.
  • كيفية بناء سلاسل من العمليات باستخدام التركيب ونمط "Pipeline".
  • كيفية معالجة الأخطاء دون فحوصات متداخلة باستخدام المنهج المونادي.
  • كيفية تصميم واجهات برمجية (API) مقاومة للتغييرات وسهلة الاختبار.


جميع أمثلة الكود تم اختبارها على Go 1.21+ ومرفقة باختبارات. يحتوي الكتاب على قوالب جاهزة للمشاريع الحقيقية: من معالجة طلبات HTTP إلى العمل مع قواعد البيانات بأسلوب وظيفي.



مثالي لأولئك الذين يرغبون في تجاوز حدود البرمجة الأمرية واستيعاب مستوى جديد من التجريد في Go.

توصيات