إذا كنت تواجه مشكلة في محاولة تعلم البرمجة الوظيفية (FP) ، فأنت لست وحدك. في هذا الكتاب ، يكتب ألفين ألكساندر - مؤلف كتاب Scala Cookbook والمعلم السابق لصفوف Java و Object-Oriented Programming (OOP) - عن مشاكله الخاصة في محاولته فهم FP ، وكيف غزاها أخيرًا.
ما تعلمه في الأصل هو أن مطوري FP ذوي الخبرة مدفوعون بهدفين: استخدام القيم الثابتة فقط ، وكتابة الوظائف البحتة فقط. ما تعلمه لاحقًا هو أن لديهم هذه الأهداف كنتيجة لهدف أكبر آخر: إنهم يريدون أن تبدو جميع التعليمات البرمجية الخاصة بهم وتعمل تمامًا مثل الجبر.
في حين أن هذا يبدو بسيطًا ، فقد اتضح أن هذه الأهداف تتطلب منهم استخدام العديد من ميزات Scala المتقدمة - والتي غالبًا ما يستخدمونها جميعًا في نفس الوقت. نتيجة لذلك ، يمكن أن تبدو التعليمات البرمجية الخاصة بهم غريبة تمامًا لمطوري FP المبتدئين. كما كتب السيد ألكساندر ، "عندما ترى الكود لأول مرة ، من السهل أن تسأل ،" لماذا يكتب أي شخص رمزًا مثل هذا؟ "
يجيب السيد الكسندر "لماذا؟"
السؤال من خلال شرح فوائد كتابة كود وظيفي خالص. بمجرد أن تفهم هذه الفوائد - دافعك لتعلم FP - يشارك خمس قواعد للبرمجة في الكتاب:
يجب أن تكون جميع الحقول ثابتة (حقول "فال").
يجب أن تكون جميع الوظائف وظائف خالصة.
القيم الفارغة غير مسموح بها.
عندما تستخدم "إذا" ، يجب عليك أيضًا استخدام "آخر".
لن تقوم بإنشاء فئات OOP التي تلخص البيانات والسلوك ؛ بدلاً من ذلك ، ستصمم هياكل البيانات باستخدام فئات "الحالة" الخاصة بـ Scala ، وتكتب وظائف خالصة تعمل على هياكل البيانات هذه.
سترى في الكتاب كيف أن هذه القواعد الخمس البسيطة تقودك بطبيعة الحال إلى كتابة رمز وظيفي خالص يقرأ مثل الجبر. يشارك أيضًا قاعدة ذهبية أخرى للتعلم:
اسأل دائما "لماذا"؟
تشمل الدروس الموجودة في الكتاب ما يلي:
كيف ولماذا تكتب وظائف نقية فقط
لماذا تعد تواقيع الوظيفة النقية أكثر أهمية من توقيعات طريقة OOP
لماذا العودية هي أداة طبيعية للبرمجة الوظيفية ، وكيفية كتابة الخوارزميات العودية
نظرًا لأن تعبير Scala "for" مهم جدًا لـ FP ، تشرح عشرات الصفحات تفاصيل كيفية عملها
في النهاية ، سترى أن الموناد ليست بهذه الصعوبة لأنها امتداد طبيعي للقواعد الخمس
ينتهي الكتاب بدروس حول نمذجة بيانات FP ، وطريقتين رئيسيتين لتنظيم وظائفك البحتة
كما كتب السيد ألكساندر ، "في هذا الكتاب ، أستغرق وقتًا لشرح جميع المفاهيم المستخدمة لكتابة كود FP في Scala. كما تعلمت من تجربتي الخاصة ، بمجرد فهمك للقواعد الخمس والمفاهيم الصغيرة ، يمكنك فهم Scala / FP ".
يرجى ملاحظة أنه نظرًا للقيود المفروضة على حجم الكتاب المطبوع ، فإن النسخة الورقية لا تتضمن جميع الفصول الموجودة في كتاب Kindle الإلكتروني. الدروس التالية ليست في النسخة الورقية:
ملفات تعريف الارتباط الجدة (قصة عن الوظائف البحتة)
دروس ScalaCheck
دروس النوع
الملاحق
نظرًا لأن هذه الدروس لم تكن مناسبة للنسخة المطبوعة ، فقد تم إتاحتها مجانًا عبر الإنترنت.
(ألفين ألكساندر (alvinalexander.com) كتب كتاب Scala Cookbook الشهير لـ O’Reilly ، كما نشر كتابين آخرين بنفسه ، How I Sell My Business: A Personal Diary، and A Survival Guide for New Consultants.)
Lessons in the book include:
As Mr. Alexander writes, “In this book I take the time to explain all of the concepts that are used to write FP code in Scala. As I learned from my own experience, once you understand the Five Rules and the small concepts, you can understand Scala/FP.”
Please note that because of the limits on how large a printed book can be, the paperback version does not include all of the chapters that are in the Kindle eBook. The following lessons are not in the paperback version:
Because those lessons didn’ fit in the print version, they have been made freely available online.
(Alvin Alexander (alvinalexander.com) wrote the popular Scala Cookbook for O’Reilly, and also self-published two other books, How I Sold My Business: A Personal Diary, and A Survival Guide for New Consultants.)
قراءة و تحميل كتاب حل المشكلات باستخدام سكالا الجزء الثاني PDF مجانا