برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة: هل بدأت تفكر في جافا كمنصة؟ إبدأ مع Groovy - برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة

اذهب للمحتوى

صفحة 1 من 1
  • لا يمكنك بدء موضوع جديد
  • لا يمكنك الرد على هذا الموضوع

هل بدأت تفكر في جافا كمنصة؟ إبدأ مع Groovy تعرف على واحدة من لغات منصة جافا اضف تقييما للموضوع -----

#1     غير متواجد   محمد سمير Icon

  • عضو فعال
  • مجموعة اعضاء
  • مشاركات 461
  • التقييم 9
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 07:44 PM

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

تكملة لموضوع "وسع أفقك و فكر في جافا كمنصة" أضع هذا العرض البسيط و المتكامل ل Groovy في المرفقات.
موقعها:
http://groovy.codehaus.org/
و هي لغة جميلة تعمل على منصة جافا و كان يعيبها بطئ التنفيذ لكن أخر مترجم لها يعد بسرعة تنفيذ أفضل.
كما أنها مدعمة بشدة من Sun و لها إضافة على نت بينز تعمل بكفاءة.
تتميز بأنها تتبع مدرسة "الهدف الواحد ممكن الوصول له بعدة طرق" (مثل بيرل و عكس بايثون).
من العرض المرفق:

Quote


Groovy = Java –boiler plate code
+ optional dynamic typing+
+ closures+
+ domain specific languages+
+ builders+
metaprogramming+


و أيضاً نموذج للكود في مقارنة مع كود جافا (من العرض أيضاً):
ارفق صورة : monthly_02_2009/post-6588-1233678957.jpg

كما نرى بالأعلى هذا الكود لجافا لكنه ينفع جافا و جروفي.
بينما نفس البرنامج بكود جروفي الصرف مستخدماً مميزات اللغة:
names = ["Ted", "Fred", "Jed", "Ned"]
printlnnames
shortNames= names.findAll{ it.size() <= 3 }
printlnshortNames.size()
shortNames.each{ printlnit }



مثلها مثل الكثير من اللغات, Groovy تركز على الإنتاجية للمطور و مع Groovy بالتأكيد ستتمتع بالكثير من الإنتاجية :wink:
إستمتعوا بالعرض.
ملف مرفق  Groovy.zip (2.74ميجا بايت )
عدد مرات التحميل : 128
0

شارك هذا الموضوع

      

#2     متواجد   herch Icon

  • عضو مميز جدا
  • مجموعة اعضاء
  • مشاركات 1714
  • التقييم 236
  • النقاط المتوفرة 64.83
  • 59.83
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 07:59 PM

السلام عليكــم ورحمـة الله وبركاتــه
حقيقة مشكور على جهدك وعلى مشاركتك معرفتك مع الآخرين، ولكن ما الفائدة من استعمال groovy إذا كنت أعمل بلغة java وأرتاح فيها.
ثم لا أظن أن مثل هذه اللغات توفر نفس إمكانيات java مثل (swing, threads, jdbc, xml, ...).
ملاحظة أخيرة، هذه فقط تساؤلات تنتظر توضيحا وليست انتقادات


0

#3     غير متواجد   محمد سمير Icon

  • عضو فعال
  • مجموعة اعضاء
  • مشاركات 461
  • التقييم 9
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 08:32 PM

السلام عليكم و رحمة الله
أي الكريم herch أشكر لك تفاعلك مع الموضوع.
بالنسبة للسؤال عن الفائدة من إستخدام لغة أخرى غير جافا فهذا منوط بك بعد معرفتك باللغة, فأنا مثلاً أفضل أن أكتب ب Jython لأن أكوادها أقصر و أسهل في الكتابة من أكواد جافا (بنسبة قد تصل إلى 80%) و تعاملها مع swing (في رأيي) أفضل من تعامل جافا مع swing, و تستخدم معها dynamic types بدلاً من static types الخاصة بجافا, قد تطول القائمة :happy: .
بالنسبة للسؤال الثاني:
توفر نفس إمكانيات Java مثل (swing, threads, jdbc, xml, ...).
هذا هو بيت القصيد, هذه المكتبات تتبع منصة جافا و هذه اللغات تستخدم منصة جافا و تتكامل معها حتى تصبح في بعض الأحيان بديلاً عن لغة جافا و تضم لها مميزات جديدة لم تكن فيها.
(مثل ال closures و ال dynamic options), ما أريد قوله هو أن نعي الفرق بين جافا كلغة و جافا كمنصة.
0

#4     متواجد   herch Icon

  • عضو مميز جدا
  • مجموعة اعضاء
  • مشاركات 1714
  • التقييم 236
  • النقاط المتوفرة 64.83
  • 59.83
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 09:17 PM

السلام عليكــم ورحمـة الله وبركاتــه
شكرا لك أخي على سرعة الرد.
نعم يا أخي هناك فرق كما تفضلت بين الjava كلغة و الjava كمنصة، ولكن بالنسبة للغة الjava، فهي تتيح استعمال كامل قوة المنصة، وكل الclasses اللتي توفرها الjvm، فهل هذا هو شأن اللغات الأخرى.؟؟
ثم هل هذه اللغات تستحق أن أخصص لها حيزا من الوقت كان ممكن أن أستعمله في تطوير مهاراتي في java أو لغات أخرى أقدم وأكثر استعمالا ؟؟
ما مدى استخدام هذه اللغات في الحياة المهنية وفي المشاريع مفتوحة المصدر؟؟
ومرة أخرى مشكور أخي على جهدك

0

#5     غير متواجد   محمد سمير Icon

  • عضو فعال
  • مجموعة اعضاء
  • مشاركات 461
  • التقييم 9
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 10:11 PM

السلام عليكم و رحمة الله
أخي herch بالنسبة لجروفي فهي تستطيع إستخدام كامل مكتبات JVM على حد علمي (صراحة جايثون لا تتكامل بنفس درجة جروفي لكن بدرجة كافية بالنسبة لي :D )
لgroovy منصة ويب قوية تدعى grails لها نفس بنية منصة روبي الأكثر شهرة rails و هي مستخدمة بكثرة لهذا الغرض.
بالنسبة لجايثون فهي الأقدم و إن كانت لم تحظ بإهتمام حقيقي إلا في الآونة الأخيرة مع تشغيل منصة ويب المعروفة لمبرمجي بايثون "Django" عليها "على جايثون" لكن هذا لا يمنع كونها مستخدمة منذ القدم كلغة *سكريبتينج* في منصة IBM المعروفة ب WebSphere .
أما لغة ك scala فلن تميز برامجها من برامج جافا لانها لغة مترجمة تترجم ملفاتها إلى byte code يعني كلاسات توضع في نفس ال jar مع كلاسات جافا.
0

#6     متواجد   herch Icon

  • عضو مميز جدا
  • مجموعة اعضاء
  • مشاركات 1714
  • التقييم 236
  • النقاط المتوفرة 64.83
  • 59.83
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 10:44 PM

السلام عليكــم ورحمـة الله وبركاتــه
شكرا لك أخي الكريم
ملاحظة أخيرة بالنسبة المثال الذي أعطيته، فالشخص الذي كتبه إما متحامل على java أو أنه لا يتقنها
 List result = new ArrayList();
 for (int i = 0; i < result.size(); i++)
	   String s = (String) strings.get(i);
	 if (s.length() <= length) {
		 result.add(s);

هنا كان واجبا استعمال الجينيريكس لتفادي الexplicit cast، ثم كان ممكن استعمال الشكل الجديد لloop for الذي ظهر منذ java 1.5
وهذا هو نفس المثال، لكن مع بعض التغييرات ، ويمكن إضافة تغييرات إخرى لتقصير الشيفرة

 import java.util.List;
 import java.util.ArrayList;
 
 class Erase
 {
	 private List<String> filterLongerThan(List<String> strings, int length)
	 {
		 List<String> result = new ArrayList<String>();
		 for (String s : strings)
			 if (s.length() <= length)
				 result.add(s);
		 return result;
	 }
	 public static void main(String[] args)
	 {
		 List<String> names = new ArrayList<String>();
		 names.add("Ted"); names.add("Fred");
		 names.add("Jed"); names.add("Ned");
		 System.out.println(names);
		 Erase e = new Erase();
		 List<String> shortNames = e.filterLongerThan(names, 3);
		 System.out.println(shortNames.size());
		 for (String s : shortNames)
			 System.out.println(s);
	 }
 }

وشكرا لك أخي على فتح باب النقاش

0

#7     غير متواجد   محمد سمير Icon

  • عضو فعال
  • مجموعة اعضاء
  • مشاركات 461
  • التقييم 9
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 11:17 PM

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

بالطبع أخي herch مؤلف المثال سيتحامل على جافا :lol:
الحقيقة أن الخطأ عندي في نقل المثال و كأنه مقارنة , الحقيقة أن العرض يقدم كود جافا ثم يبدأ بحذف ( من وجهة نظره) أجزاء غير ضرورية في الكود "مثل السيمي كولون الذي يتواجد في العديد من لغات البرمجة" متدرجاً في عملية الحذف حتى يصل لكود جروفي الأخير , مع العلم أن كل مرحلة من مراحل الحذف يكون الكود قابل للتنفيذ , و هي طريقة جميلة لإيصال الفروق بين كود جافا و كود جروفي لمبرمجي جافا.
و أكرر أخي الكريم أن المسألة من وجهة نظري ليست إيجاد لغة أحسن من لغة جافا لكن بالتأكيد ستستفيد من وجود لغات أخرى في جعبتك كما أنك ستستفيد من كل المكتبات التي تعلمتها و تعودت على العمل عليها (تقريباً انت تتعلم syntax جديد فقط).
لك خالص تحياتي و أشكرك على تمحيص الكود الخاص بالمثال.
0

#8     متواجد   herch Icon

  • عضو مميز جدا
  • مجموعة اعضاء
  • مشاركات 1714
  • التقييم 236
  • النقاط المتوفرة 64.83
  • 59.83
    النقاط المحصلة
++

تم الارسال 03/02/2009 - 11:43 PM

السلام عليكــم ورحمـة الله وبركاتــه
شكرا لك أخي على طول بالك، فقد أكثرت عليك من الملاحظات
شخصيا أفضل java على لغات أخرى، فقد أحببتها وارتحت فيها، وهذا لا ينقص من اللغات الأخرى، فكل لغات البرمجة سواء اللتي تعمل على jvm او .net إلخ أصبحت تقدم نفس الإمكانيات، وأصبحت المسألة مسألة ميول أكثر منها مسألة أداء
جزيل الشكر يا أخي

0

#9     غير متواجد   محمد سمير Icon

  • عضو فعال
  • مجموعة اعضاء
  • مشاركات 461
  • التقييم 9
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 04/02/2009 - 07:34 AM

السلام عليكم و رحمة الله
أتفق معك أخي الكريم في أن المسألة مسألة ميول و راحة مع اللغة التي تستخدمها و في أخر الأمر يضطر المبرمج المحترف (حيث البرمجة هي حرفته) للعمل باللغة التي يفرضها عليه فريق العمل :lol:
أما من هم من حالي فيعملون مشاريعهم باللغة التي تريحهم B) .
0

شارك هذا الموضوع


صفحة 1 من 1
  • لا يمكنك بدء موضوع جديد
  • لا يمكنك الرد على هذا الموضوع

( 1 ) عضو يشاهد هذا الموضوع
( 0 ) الأعضاء, ( 1 ) الزوار, ( 0 ) عضو بدخول مخفي




لإفضل مشاهدة للمنتدى إستخدم مستعرض فايرفوكس
Free PageRank Checker

 الآن ... إستايل خاص لمن يملك هاتف iPhone  ... لتنزيل البرنامج  اضغط هنا