ينصب التركيز في الأسلوب الوظيفي للبرمجة على الوظائف ونتائج التقييم بدلاً من ترتيب حدوث العمليات. إنه النموذج السائد للغات ، والذي يتناقض مع أسلوب البرمجة الحتمي. Scala هي لغة برمجة وظيفية لأنها تدعم البرمجة الوظيفية. على الرغم من أنه من المعروف أن Scala هو اندماج كل من البرمجة الموجهة للكائنات والبرمجة الوظيفية ، إلا أننا سنتحدث هنا عن جزء البرمجة الوظيفية. فيما يلي بعض ميزات البرمجة الوظيفية:
- لغة وظيفية ، لا تسمح Scala بأي حالة قابلة للتغيير لأنها تخلق مشكلة تزامن في الوصول المشترك.
- يدعم Scala هذا النموذج بمكتبة الفاعلين الخاصة به ، ولكنه يسمح لكل من المتغيرات المتغيرة وغير القابلة للتغيير.
- مكتبة الممثلين هي طريقة واحدة ولكن بخلاف ذلك ، توفر لك Scala التركيبات بطريقة يجب أن تنشئ فيها عادةً vals ، وليس vars. يقترح أن Scala يعمل بشكل مثالي من حيث الثوابت وليس من حيث المتغيرات. ما لم تكن بحاجة إليهم حقًا ، فلا يجب عليك إنشاء فارز في سكالا. إنها ميزة أصلية لأسلوب البرمجة الوظيفية ، بدلاً من أسلوب البرمجة الموجهة للكائنات.
- وظائف هي المواطنين 'من الدرجة الأولى' في البرمجة الوظيفية. يتم التعامل معها تمامًا مثل المتغيرات.
- يمكن أن تكون الوظيفة:
- مخصصة للمتغيرات.
- مرت إلى المتغيرات.
- انتقلت إلى وظيفة أخرى.
- مكتوبة داخل وظيفة.
- كل شيء في Scala هو كائن ، حتى الوظائف المضمنة.
- على غرار Python و Ruby ، يتم تقديم الإغلاق في Scala أيضًا.
الأطر في سكالا
Scala ليست لغة تتعلمها حقًا لـ Spark فقط. هناك العديد من الأطر الأخرى التي يتم تطويرها في Scala. ومنهم:
شرارة - معالجة في الذاكرة
Apache Spark هو نظام حوسبة جماعية في الذاكرة للأغراض العامة. يتم استخدامه لتحليلات البيانات ويقوم بتلخيص واجهات برمجة التطبيقات في Java و Scala و Python ، ويوفر محركًا محسنًا يدعم الرسوم البيانية للتنفيذ العام.
Play - لتطوير الويب
ما هو rmi في جافا
إنه إطار عمل تطبيق ويب Java و Scala عالي الإنتاجية يدمج المكونات وواجهات برمجة التطبيقات التي تحتاجها لتطوير تطبيقات الويب الحديثة.
السمط - للحصول على خريطة / تقليل
Scalding هي مكتبة Scala تسهل تحديد وظائف Hadoop MapReduce. تم إنشاء Scalding فوق Cascading ، وهي مكتبة Java تقوم بإخراج تفاصيل Hadoop ذات المستوى المنخفض.
عكا - الإطار القائم على الممثلين
Akka عبارة عن مجموعة أدوات ووقت تشغيل لإنشاء تطبيقات متزامنة وموزعة ومتسامحة للغاية على JVM. تمت كتابة عكا في سكالا.
لديك سؤال لنا؟ أذكرها في قسم التعليقات وسنعاود الاتصال بك.
المنشورات ذات الصلة
باستخدام r للتعلم الآلي