مدونة محمد سمير

29‏/1‏/2009

بايثون تتلاعب بروبوت يزن 11 طن

السلام عليكم

هل يمكن إستخدام بايثون لبرمجة التحكم في الروبوتات؟ نعم .. و أخرهم هذا الروبوت الذي يزن 11 طن و طول ذراعه 17 متر.







28‏/1‏/2009

هل جربت MiGLayOut؟

السلام عليكم و رحمة الله
إن كنت تستخدم جافا في برامجك و تصمم واجهة برنامجك بسوينج أو SWT فقد واجهت مشكلة وضع المكونات في نافذتك, و يا ترى أي تموضع "LayOut " ستستخدم؟ كل واحد من الإختيارات التلقائية ليس بالمستوى المطلوب و به الكثير من العيوب.
هل جربت MiGLayOut؟ إنه الحل الجذرى لمشاكل التموضع فهو يضمن لك:
- سهولة التكويد.
- جمال التصميم.
- يعمل مع Swing و SWT بكفاءة عالية.
- مناسب لجميع أنظمة التشغيل (مشاكل بسيطة مع ماك لكن قابلة للحل).
بقي أن تعرف أن هناك تصويت لإضافته ل Java7 إن شاءالله.




وسع أفقك و فكر في جافا كمنصة

بســم الله الـرحمــن الرحيــم
 السلام عليكــم ورحمـة الله وبركاتــه
  الإخوة الكرام مبرمجي جافا ... أحببت أن أتكلم معكم عن موضوع اللغات الأخرى غير جافا و التي تستخدم منصة جافا.
 على سبيل المثال لا الحصر:

صدقني ستفاجأ بكم اللغات التي تعمل على تلك المنصة الرائعة جافا.
سؤال: كيف للغة أن تعمل على منصة لغة أخرى؟
الكيفية بسيطة: بدلاً من برمجة مفسر أو مترجم اللغة بلغة C مثلاً يبرمج بجافا.
إذن فاللغات التي تعمل على منصة جافا تكون لغات جديدة كتبت من الصفر؟
ليس تماماً... يمكنك إعادة كتابة لغة و منصتها بالكامل بجافا ليكون لديك نسخة تعمل على جافا و أخرى تعمل حيث يمكن ترجمة كود C التي كتبت به.
و هل هذه الإمكانية حكر على منصة جافا؟ لا ... نظرياً يمكن عمل مفسر لأي لغة بإستخدام لغة أخرى، عملياً..لدينا منصة دوت نت من ميكروسوفت و التي تحمل بين طياتها العديد من اللغات.
إذن هناك لغات أحسن من لغة جافا يمكن إستخدامها على منصة جافا؟هذا السؤال هو بداية فساد الموضوع, لسنا هنا بصدد الحديث عن لغة أحسن ولغة أطعم ... الموضوع و ما فيه "وسع أفقك".
إذن لماذا أتعلم لغة جديدة .. ما الذي سيفيدني؟لكل مقام مقال و هناك لغات قد تخدمك كثيراً في مواقف قد لا تخدمك فيها لغتك المفضلة, لا أقول أن هناك لغة أفضل من لغة و لكن أقول أن كل اللغات تستطيع أن تحل كل المشكلات لكن هناك لغة قد تحل مشكلة معينة بطريقة أفضل من غيرها.
على سبيل المثال: هل جربت أن تكتب كود نافذة "swing" بجافا؟ إن كنت جربت فقل رأيك في هذا الكود لعمل نافذة تحمل عنوان "testing" و مساحتها 300*300:
from javax.swing import *
f = JFrame("testing", size =(300,300), visible =1)
 الكود مكتوب بلغة تدعى Jython و هي اللغة التي أفضلها و هي ليست الوحيدة بل هناك العديد من اللغات القيمة التي تستحق منك نظرة, عل سبيل المثال:
JRuby, Groovy, Scala
جرب و لن تندم.
  

27‏/1‏/2009

ماذا تعرف عن Jython ؟

ماذا تعرف عن Jython ؟
     Jython هي تصدير للغة التفاعلية الشهيرة Python التي كتبت بلغة C ,أما Jython فقد كتبت مكتباتها ب Java بدلاً من C , تستطيع من داخل Jython إستخدام مكتبات Python القياسية جنباً بجنب مع مكتبات Java القياسية المضمنة في ما يدعى Java Virtual Machine أو إختصاراً JVM.

 بدأت Jython مع Jim Hugunin الذي كان بصدد تحضير رسالة دكتوراة عام 1997م تتعلق بحواسيب الكوانتم و شبه الموصلات بها مستخدماً في التحليلات العددية لغة و منصة ماتلاب و التي كانت بوصفه جيدة لهدفها الأساسي (التحليل العددي) لكن سيئة لأداء أي مهمة أخرى, و في نفس الوقت بدأ إهتمامه بلغة Python و التي وصفت في ذلك الوقت بأنها أشبه بلغة تعليمية لكن قابلة للتنفيذ “executable pseudo-code “, وأيضاً في نفس الوقت بعد تنفيذ عدد من التحليلات بلغات أخرى فوجئ بأن سرعة تنفيذ برامج Java تصل إلى سرعة تنفيذها بلغة  C, ثم بدأ يفكر ما الذي يمنع كتابة برامج تعمل على منصة Java بلغة Python؟, و من هنا بدأت JPython, بعد أسبوع من العمل وجد أن الفكرة جيدة و ترجمة أكواد Python ل Java bytecodes لم تفقد البرنامج أي من أدائه و سرعته, كما وجد أن وجود java.reflect  في منصة Java أوجد إمكانية إستدعاء مكتبات Java داخل أكواد Python مباشرة. 

قرر Jim بعد هذا العمل أن يتفرغ ل JPython "حتى أنه أجل العمل علي الدكتوراة" ثم عرض عليه أن يكمل المشروع مع CNRI التي كانت أول بيت ل JPython و عام 1999 م إنتقل Jim للعمل على مشروع آخر بينما تلقى مجتمع المصادر المفتوحة هذه اللغة عاملين على تطويرها. ( بالمناسبة  Jim Hugunin هو مطور IronPython و هي ترجمة Python ولكن على منصة dotNET من مايكروسوفت و يعمل بدوام كامل عليها لدى مايكروسوفت).
يرجع الفضل ل Barry Warsaw  في إنتقال Jython إلى عالم المصادر المفتوحة بعد إختياره لرخصة مناسبة لمجتمع المصادر المفتوحة و قد قاد المشروع بعد ذلك Finn Bock بالتعاون مع Samuele Pedroni بعد نقل المشروع ل SourcForge (تم تغيير الإسم إلى Jython بدلاً من Jpython لوجود بند في الرخصة الخاصة ب CNRI لا يسمح بإستخدام نفس الإسم في منتج آخر).

و في عامي 2004 و 2005 تولى المشروع Brian Zimmer  و Frank Wierzbicki  لكن بدأت عجلة تطوير Jython تبطئ حتى عام 2008 عندما قررت Sun Microsystems في خطوة متأخرة تعيين Ted Leung و Frank Wierzbicki للعمل على Jython و Python بدوام كامل و نحن بصدد وصول إصدارة جديدة ل Jython خلال الأشهر القليلة القادمة. 

آخر إصدارة ل Jython:
     الإصدارة الحالية هي Jython 2.5 بيتا 1 و من المنتظر صدور نسختي بيتا أخريتين قبل الإصدار النهائي المتوقع في مارس 2009 بإذن الله.
أما الإصدار المعتمد و الموصى به للأعمال و المشاريع فهو 2.2.1 و من المتوقع صدور تطوير لهذه النسخة قريباً(2.2.2).
يتضح من رقم الإصدارة أن إصدارات Jython متزامنة بالأرقام مع إصدارات Python و إن كانت متأخرة بعض الشيء عن Python من ناحية التطوير.
و من المرجح إنتقال Jython للإصدار الثالث مباشرة لتتزامن مع Python 3 بدون المرور على الإصدارات 2.6 و ما بعدها و لكن هذا الحديث سابق لأوانه و ستتضح معالم الطريق بعد الإصدارة التالية.

التسميات