📘 قراءة كتاب Functional Programming, Simplified: (Scala Edition) أونلاين
نبذة عن الكتاب:
إذا كنت تواجه مشكلة في محاولة تعلم البرمجة الوظيفية (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:
- How and why to write only pure functions
- Why pure function signatures are much more important than OOP method signatures
- Why recursion is a natural tool for functional programming, and how to write recursive algorithms
- Because the Scala ‘for’ expression is so important to FP, dozens of pages explain the details of how it works
- In the end you’ll see that monads aren’t that difficult because they’re a natural extension of the Five Rules
- The book finishes with lessons on FP data modeling, and two main approaches for organizing your pure functions
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:
- Grandma’s Cookies (a story about pure functions)
- The ScalaCheck lessons
- The Type Classes lessons
- The appendices
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.)
سنة النشر : 2017م / 1438هـ .
نوع الكتاب : pdf.
عداد القراءة:
اذا اعجبك الكتاب فضلاً اضغط على أعجبني و يمكنك تحميله من هنا:
شكرًا لمساهمتكم
شكراً لمساهمتكم معنا في الإرتقاء بمستوى المكتبة ، يمكنكم االتبليغ عن اخطاء او سوء اختيار للكتب وتصنيفها ومحتواها ، أو كتاب يُمنع نشره ، او محمي بحقوق طبع ونشر ، فضلاً قم بالتبليغ عن الكتاب المُخالف:
قبل تحميل الكتاب ..
يجب ان يتوفر لديكم برنامج تشغيل وقراءة ملفات pdf
يمكن تحميلة من هنا 'http://get.adobe.com/reader/'