abshammeri

ماهي مزايا لغة Scala

7 ردود في هذا الموضوع

السلام عليكم ،

لغة Scalaسمعتها طيبة ، أفضل من سمعة جافا ( من ناحية استهلاك الذاكرة أو سرعة التنفيذ ) ، لكن هل جرب أحد اللغة ؟ في أي جزء من تطبيقاتنا ينصح بأن نستخدمها ؟ يعني في أي طبقة layer، لو كان نظام كامل في شركة مثلاً ؟ على سبيل المثال هل ينفع نستخدمها كـ core system بلا مشاكل ؟ اللغة وصفها يشبه وصف لغة Cpp ، ولها خصائص جافا ؟ ما علاقتها بالظبط بجافا ، ولماذا نستخدمها عوضاً عن جافا ( لو استثنينا FP ) ؟

هل جربها أحد؟ ما انطباعه عنها بعد التجربة أو الاطلاع ؟ .. لعلنا نختصر الطريق ،

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

Scala :$

تجربتي ليها تجربة هاوي لأني بعيد شوية عن جافا

على كل الأحوال لغة مبنية على ال jvm الممتازة

وصول كامل لكل مكتبات جافا دون الحاجة لإعادة كتابتها مرة اخرى

*في تكامل مع ال clr بس مدورتش بصراحة

غير دعمها للبرمجة الكائنية والبرمجة الوظيفية (الموضة القديمة العائدة حديثا :D )

وال Actors رائعة جدا

combinator parsing

معبرة اكتر من جافا بكتير!!

دي الحاجات اللي لفتت إنتباهي (لو تحب التفصيل في اي جزئية تحت امرك)

تم تعديل بواسطه ahmed_youssef
3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

سكالا بالنسبة و جافا بالنسبة ل JVM ك C# و فيجوال بيزك بالنسبة لدوت نت.

http://www.arabteam2000-forum.com/index.php?showtopic=184622

سكالا لغة استاتيكية مترجمة لبيناري كود مثلها مثل جافا و زمن التنفيذ مثل جافا بالضبط و بالتالي يمكن العمل بها في أي طبقة إستخدمت فيها جافا.

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
وال Actors رائعة جدا

combinator parsing

معبرة اكتر من جافا بكتير!!

معلش ، ممكن توضح ؟ لم أفهم قصدك ، تقصد syntax ؟

فهمت من الأخ أحمد و محمد أن Scala تتحول في النهاية إلى byte code ، مثل الـ byte code الخاص بلغة جافا ، أي أنهما في النهاية يشتغلون على JVM ؟ يعني ليس لـ Scala فيرتشوال مشين خاص فيها ؟ أو ليس لها Garbage Collector خاص بها ؟

في مقارنة Google هناك تقارب كبير بين اللغتين ،أقصد Scala و Java ، لذلك هل كون Scala تدعم FP هو السبب في انتشارها ؟ يبدو أنها مستخدمة حتى في core system لموقع تويتر ؟

Java فيها استهلاك كبير للذاكرة ، وأحياناً بطء في التنفيذ و أحياناً الكود يبدو غير منظم كلما كبر المشروع ، لذلك أتمنى أن أعرف هل Scala ستحل هذه المشاكل ؟ أم مجرد إضافة FP ..

سبب سؤالي هو البحث عن بديل للغة جافا من أجل كتابة core system ، لتطبيقات الويب ، بدلاً من استخدام لغات متعبة مثل PL/SQL بدعوى أنها أسرع و أفضل أو أنها أكثر أمناً ( مثال : لا مشاكل مع Concurrency ) ، جافا تدعم كل هذا ، لكن يمكن يكون فيه شيء أفضل .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هي معبرة جدا من ناحية ال syntax اكتر من الجافا

اما ال Actors فهي طريقة Scala لل concurrency وهي بإختصار إرسال رسائل ل object وعند استقبالها يعالجها كما حددت

*ممكن مع scala نشوف اكواد تلتهم الذاكرة كذلك! فالقضية مش في اللغة بقدر ماهي في الإستخدام المناسب، والتنظيم في الكود و "صغر" حجمه أمر مفروغ منه

3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم ورحمه الله وبركاته

انا لم استخدم لغة سكالا من قبل وما اعرفه عنها هو ما تم كتابته هنا

ولكن هناك محاضرة عن هذة اللغة قدمها المهندس الرائع احمد سليمان

جزاه الله الخير كله

رابط المحاضرة

3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لسلام عليكم ورحمه الله وبركاته

انا لم استخدم لغة سكالا من قبل وما اعرفه عنها هو ما تم كتابته هنا

ولكن هناك محاضرة عن هذة اللغة قدمها المهندس الرائع احمد سليمان

جزاه الله الخير كله

رابط المحاضرة

وعليكم السلام ورحمة الله وبركاته

جزاك الله خير على مشاركة هذا الرابط .... تسلم ايديك :)

انصح الجميع بالاستماع لهذه المحاضرة فالمحاضر يقدم مفاهيم مهمة وباسلوب شيق :)

وله فكر صحيح (من وجهة نظرى المتواضعة) فيما يتعلق بالنظر الى لغات البرمجة

هذه بعض النقاط التى وردت فى هذه المحاضرة

1 - توضيح الفرق بين ال Statement وال Expression

حيث ال statement لاترجع قيمة مثل جمل if , for ,...etc

بينما ال expression يرجع قيمة مثل 1+1 وهكذا

2 - مقدمة جيدة عن ال Functional programming

وهى تستمد مفاهيمها من الدوال فى الرياضيات

حيث ان الدوال ترجع قيمة لا تتغير اذا اعطيتها نفس المعطيات

كما انها لاتغير فى ال Arguments او المعطيات

بالاضافة الى ان الدوال يمكن ارسالها كمعطيات او ارجاعها كقيمة

3 - اهمية ال Functional فى التطبيقات التى تعمل على اكثر من معالج

وكيفة انها تتفوق على اللغات التقليدية فى هذا الامر

وكيف ان هذا الامر اصبح الان اكثر اهمية لان زيادة السرعة اصبحت تتم عن طريق تقديم معالجات اكثر

مما يزيد الطلب على التطبيقات ال Concurrent

4 - التحدث عن لغة Scala وتوضيح انها لغة تكبر مع المبرمج حيث يمكن ان يضيف لها الكثير من الاشياء والتى تبدو وكانها جزء من اللغة

5 - توضيح ان ال Scala تدعم ال OOP الى اقصى مدى Pure OOP وان كل شىء فيها عبارة عن Object

6 - توضيح ان ال Scala تدعم ال Functional Programming بقوة

7 - توضيح ان ال Scala يمكن ان تستخدم كـ Scripting Language ... بمعنى تكتب اوامر مباشرة بدون تعريف دالة او كلاس

8 - توضيح ان ال Sclala تعمل على ال JVM وانها بسرعة الجافا او اسرع ( بعكس اللغات الاخرى التى تعمل على JVM وتكون ابطأ من الجافا )

9 - توضيح ان ال Scala تتيح استدعاء مكتبات الجافا والعكس ايضا ممكن

وهناك نقاط اخرى كثيرة

والاهم من هذا كله .... هو محاولة المحاضر تغيير فكر طلاب البرمجة لكى ينظروا الى اللغة على انها مجرد tool وان يعلموا اهمية دراسة اكثر من لغة

تختلف عن بعضها فى المفاهيم حتى يتمكنوا من استيعاب مفاهيم اكثر وتذوق خصائص اللغات ولدعم هذا المفهوم اثناء تعريف الطلاب بنفسه تحدث

عن بدايته مع البرمجة ومع لغات Microsoft و كيف تغير تصوره عندما تعرف على ال Linux واللغات الاخرى.

ولانى مع هذا الفكر قمت بسرد النقاط السابقة لتحميس الاعضاء الى الاستماع الى المحاضرة

والله الموفق

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .