جدول المحتوى
Scala، اختصار لـ Scalable Language، هي لغة برمجة وظيفية هجينة. تم إنشاؤه بواسطة مارتن أوديرسكي. يدمج Scala بسلاسة ميزات اللغات الوظيفية والكائنية. تم تجميع Scala للتشغيل على Java Virtual Machine. تتجه العديد من الشركات الحالية، التي تعتمد على Java لتطبيقات الأعمال المهمة، إلى Scala لتعزيز إنتاجيتها التطويرية وقابلية تطوير التطبيقات والموثوقية الشاملة.
أذكر هنا بعض النقاط التي تجعل Scala الخيار الأول لمطوري التطبيقات.
Scala موجه للكائنات
Scala هي لغة خالصة موجهة للكائنات، بمعنى أن كل قيمة هي كائن. يتم وصف أنواع الكائنات وسلوكها حسب الفئات والسمات التي سيتم شرحها في الفصول اللاحقة.
يتم توسيع الفئات عن طريق الفئات الفرعية subclassing وآلية التركيب المرنة القائمة على الخلط mixin-based composition كبديل نظيف للميراث المتعدد.
Scala لغة وظيفية
Scala هي أيضًا لغة وظيفية بمعنى أن كل وظيفة هي قيمة وكل قيمة هي كائن، وبالتالي فإن كل وظيفة هي كائن في النهاية.
يوفر Scala بناء جملة خفيف الوزن لتعريف الوظائف المجهولة، ويدعم الوظائف ذات الترتيب الأعلى، ويسمح بتداخل الوظائف، ويدعم الكاري. وسيتم شرح هذه المفاهيم في الفصول اللاحقة.
Scala تكتب بشكل ثابت
Scala، على عكس بعض اللغات الأخرى المكتوبة بشكل ثابت (C، Pascal، Rust، وما إلى ذلك)، لا تتوقع منك تقديم معلومات نوع زائدة عن الحاجة. ليس عليك تحديد النوع في معظم الحالات، وبالتأكيد ليس عليك تكراره.
Scala يتم تشغيلها على JVM
يتم تجميع Scala في Java Byte Code الذي يتم تنفيذه بواسطة Java Virtual Machine (JVM). هذا يعني أن Scala وJava لديهما منصة تشغيل مشتركة. يمكنك الانتقال بسهولة من Java إلى Scala.
يقوم مترجم Scala بتجميع كود Scala الخاص بك إلى Java Byte Code، والذي يمكن بعد ذلك تنفيذه بواسطة الأمر “scala”. يشبه الأمر “scala” أمر java، حيث أنه ينفذ كود Scala المترجم الخاص بك.
يمكن لـ Scala تنفيذ كود Java
يمكّنك Scala من استخدام جميع فئات Java SDK وأيضًا فئات Java المخصصة الخاصة بك أو مشاريع Java مفتوحة المصدر المفضلة لديك.
يمكن لـ Scala القيام بالمعالجة المتزامنة
يتيح لك Scala التعبير عن أنماط البرمجة العامة بطريقة فعالة. فهو يقلل من عدد الأسطر ويساعد المبرمج على البرمجة بطريقة آمنة. يسمح لك بكتابة الأكواد بطريقة غير قابلة للتغيير، مما يجعل من السهل تطبيق التزامن والتوازي (المزامنة).
مقارنة بين Scala و Java
يحتوي Scala على مجموعة من الميزات التي تختلف تمامًا عن Java. بعض هذه الأنواع هي (جميع الأنواع عبارة عن كائنات، واستدلال النوع، والوظائف المتداخلة، والوظائف هي كائنات، ودعم لغة المجال المحددة (DSL)، والسمات، وعمليات الإغلاق، ودعم التزامن المستوحى من Erlang)
Scala Web Frameworks
يتم استخدام Scala في كل مكان والأهم من ذلك في تطبيقات الويب الخاصة بالمؤسسات. يمكنك التحقق من عدد قليل من أطر عمل الويب Scala الأكثر شيوعًا (The Lift Framework، وThe Play Framework، وThe Bowler Framework)
1 تعليق
شكراً جزيلاً لكم