وسم التدوينة Java
BicaVM: آلة افتراضية مكتوبة بلغة JavaScript لتمكين المتصفح من تشغيل تطبيقات Java من دون أية إضافات
الأفكار التي قد تخطر على بال المبرمجين لا حدود لها، ومن بين هذه الأفكار تلك التي خطرت على بال المبرمج البرتغالي Artur Ventura الذي قرر كتابة آلية افتراضية بلغة JavaScript لتمكين من تنفيذ تطبيقات Java داخل المتصفح.
المشروع الذي أطلق عليه اسم BicaVM لا يزال في مراحله الأولى، وحسب Ventura فإن بعد 6 أشهر من العمل أصبح بإمكان BicaVM أن ينفذ حاليا حوالي 60% من ByteCode. ويهدف المطور إلى تمكين المتصفحات التي تعمل على أجهزة لا تقبل أي نوع من الإضافات بتشغيل تطبيقات Java، ويضرب مثالا بمتصفح Safari على نظام iOS، حيث نشر صورة على مدونته تبين تمكنه من تنفيذ برنامج Java.
قد تبدو الفكرة جدية وجيدة، خاصة مع التزايد المستمر لسرعة تنفيذ شفرات JavaScript على مختلف المتصفحات، لكن ألا يدفع الأمر للتساؤل عن جدوى كتابة آلة افتراضية تعمل داخل آلة افتراضية أخرى، ماذا لو كان المتصفح يعمل هو بدوره أيضا في نظام مشغل كآلة افتراضية (ألا يذكركم ذلك بأية أفلام هوليودية؟).
في المقابل، فقد سبق لمطور آخر أن أطلق مشروع JSava الذي يمكنه تنفيذ أغلب برامج Java، والذي كتب بلغة JavaScript ليعمل داخل الآلة الافتراضية Rhino الخاصة بلغة JavaScript والتي هي بدورها مكتوبة بلغة Java، إلا أنها لا تعمل على المتصفحات.
ما رأيك في كل هذا المحاولات الرامية إلى تشغيل برامج وتنفيذ شفرات برمجية بلغات مختلفة داخل المتصفح؟ هل نتجه إلى جيل جديد من أنظمة التشغيل والأجهزة التي تعتمد حصريا على المتصفحات؟
ترتيب TIOBE للغات البرمجة الأكثر شعبية : Java الأولى و لغة C تقترب من الصدارة
بالرغم من أن تقرير TIOBE لشهر أكتوبر 2011 يشير إلى حفاظ Java على مركزها الأول إلا أن المعطيات الحالية ترجح أن الوضع لن يدوم على هذا الحال طويلا، فلم يشفع إصدار النسخة السابعة من اللغة لها كثيرا، حيث أنه من المتوقع أن تكون الصدارة في الشهر القادم للغة C والتي تحتل المرتبة الثانية حاليا.
ولقد فقدت لغة Java نقطة مقارنة بشهر سبتمبر الماضي، و ربع نقطة مقارنة بشهر أكتوبر من العام الفارط، مما يؤكد نظرية التراجع العام –بالرغم من بطئه- لهذه اللغة. إلا أن الأمر مختلف مع لغة C التي بالرغم من فقدانها لأحد مطوريها الأوائل خلال شهر أكتوبر إلا أنها تتقدم بخطوات ثابتة وبطيئة، حيث سجلت تقدما يقدر بنحو 0.53 نقطة خلال هذا العام.
في المقابل حافظت ++C على المركز الثالث وكذلك PHP على مركزها الرابع ، أما Obective-C فهي تواصل صعودها من المرتبة 8 لعام 2010 إلى المرتبة 6 هذا العام بعد أن كانت في المركز 38 في عام 2006 . في حين هبطت Python من المركز 7 إلى 8، و Ruby من المركز 10 إلى 11 خلال هذا العام.
الجدول التالي يعطيك فكرة أكبر لترتيب اللغات خلال السنوات الفائتة :
| Programming Language | Position Oct 2011 |
Position Oct 2006 |
Position Oct 1996 |
Position Oct 1986 |
|---|---|---|---|---|
| Java | 1 | 1 | 3 | - |
| C | 2 | 2 | 1 | 1 |
| C++ | 3 | 3 | 2 | 5 |
| PHP | 4 | 4 | - | - |
| C# | 5 | 8 | - | - |
| Objective-C | 6 | 38 | - | - |
| (Visual) Basic | 7 | 5 | 4 | 6 |
| Python | 8 | 7 | 27 | - |
| Perl | 9 | 6 | 7 | - |
| JavaScript | 10 | 9 | 16 | - |
| Lisp | 13 | 16 | 14 | 3 |
| Ada | 20 | 17 | 11 | 2 |
يلاحظ أن Java ،C ،++C و PHP تحافظ تقريبا على مستواها ، أما Obective-C و PL/SQL فهما ترتفعان في سلم الترتيب بشكل سريع .
لمزيد من التفاصيل التقرير كاملا هنا .
ما رأيكم بهذه الأرقام ؟ ماهو سبب تراجع Java في رأيك؟ وهل تملك تفسيرا لتقدم Obective-C و PL/SQL بسرعة كبيرة ؟
تحديث: إطلاق الإصدار النهائي من Java 7
تحديث: إطلاق الإصدار النهائي من Java 7
Release Note الخاصة بهذا الإصدار
Oracle تطلق الإصدار RC من Java 7
أطلقت Oracle يوم أمس الإصدارة المرشحة RC من Java 7 و التي تأتي محملة بالعديد من الخواص و المزايا الجديدة و التي طال انتظارها لأزيد من أربعة سنوات، و بذلك تعطي Oracle للغتها البرمجية نفسا جديدا.
لا يسعنا أن نذكر هنا كافة المزايا الجديدة لكن قد يكون أهمها هو إضافة API جديدة للـ Input/Output تحمل الاسم Nio2 و التي توفر العديد من المزايا الجديدة خاصة ما تعلق بمنها بإدارة الملفات. و سيصبح ممكنا مع هذا الإصدار استخدام الـ _ في الأعداد حيث سنرى قريبا شفرات مصدرية تحتوي:
int oneMillion = 1_000_000;
بدل
int oneMillion = 1000000;
و التي بالرغم من “غرابتها” إلا أنها ستسهل كثيرا قراءة الشفرات المصدرية.
و يحمل هذا الإصدار خاصية مفيدة جدا و هي إمكانية استعمال الـ String في الهيكل الشرطي switch على النحو التالي:
case "string": doSomething(); break;
يمكن الاطلاع على كافة ما يقدمه هذا الإصدار من هنا، و لمن لا يطيق صبرا حتى موعد الإصدار النهائي من Java 7 ما عليه سوى تحميل الإصدار RC من هنا
يمكن معرفة المزيد حول Java 7 من خلال هذا النقاش الذي يدور حوله:
و للمبرمجين كسوف خاص بهم: إطلاق الإصدار Indigo من بيئة التطوير Eclipse
و للمبرمجين كسوف خاص بهم: إطلاق الإصدار Indigo من بيئة التطوير Eclipse
منذ حوالي أسبوع كان موعد الكثيرين مع خسوف نادر الحدوث، أحقا هو كذلك ؟ (لا أنت لست في موقع عالم الإبداع :p ) ، لكن عندنا نحن معاشر المبرمجين من مرتشفي قهوة Java و غيرهم ، يطل علينا كسوف من نوع آخر قد يعاود الظهور أكثر من مرة في العام الواحد، هل حزرت؟ حسنا سأساعدك بعض الشيء، يقال له بالانجليزية Eclipse، قد طلّ منذ ليال تحت الاسم الفلكي البرمجي Indigo.
Eclipse هو محرر برمحي حر ومفتوح المصدر واسع الشهرة خاصة بين مبرمجي الـ Java أُطلت آخر نسخة منه “Indigo” هذه الأيام والملفت في هذه النسخة:
- مشاركة 62 فريق مشروع في هذه الإصدارة.
- 64 مليون سطر برمجي تصدر مع هذه النسخة
- 408 مطور (مساهم) بكود برمجي .
- مشاركة 49 منظمة في هذه الإصدارة.
- 10 حزم محددة مسبقا لتسهيل التحميل والتثبيت.
أما في ما يخص ميزات هذه الإصدارة فقد جاءت بـالكثير مما لا يمكنه حصره هنا، ومن ذلك نذكر:
- دمج EGit 1.0 ليعطي دعم من الدرجة الأولى لمطوري Java لتسيير الكود البرمجي باستعمال Git.
- إدخال WindowBuilder لبناء واجهات رسومية قياسية
- دمج m2eclipse للعمل على مشاريع Maven مباشرة من Eclipse
- أما في ما يخص Eclipse Marketplace Client فهي تدعم الآن خاصية السحب والإفلات لتثبيت الحلول المبنية على Eclipse مباشرة على بيئة Eclipse بشكل أسرع وأسهل.
وقد تم تخصيص موقع خاص بالإصدارة من هنا.
يمكن الإطلاع على الإعلان الرسمي عن هذه الإصدارة من خلال الموقع الرسمي للـ Eclipse من هنا، وفيه سرد لكامل الميزات الجديدة.
هل تستخدم Eclipse في مشاريعك؟ فإن كان نعم، فعل تعتبره الأفضل؟ وإن كان لا، فشاركنا باسم محررك البرمجي المفضل وهل شدّتك الميزات الجديدة لتجربة هذه الإصدارة من Eclipse؟
خاطرة: لماذا لم يتم إطلاق هذه الإصدارة مع الخسوف الحقيقي؟ أعتقد لو كانت Google أو Mozilla لفعلوا ذلك :p
لا أكواد Java منسوخة ولا أسلحة دمار شامل وُجدت على Android :)، هل هذا صحيح؟
لا أكواد Java منسوخة ولا أسلحة دمار شامل وُجدت على Android
، هل هذا صحيح؟
كنا قد تابعنا على المجلة التقنية قضية رفع Oracle دعوى قضائية على Google لاستعمالها للـ Java في نظام Android، ردت Google باتهام Oracle بالنفاق و اللعب على وجهين بالـ Java ،حدّث عملاق قواعد البيانات اتهامه مشيرا إلى أن جزء كبيرا من شفرة Android ما هو إلا نسخ و لصق مباشر من الـ Java الذي يمتلكه، ولا نعلم هل سينتهي المطاف مع الخبر الموالي أو سيشعل معركة أخرى من هذه الحرب، حيث نشر Ed Burnette من على zdnet وهو مطور تطبيقات خبير، تحليلا بسيطا لصالح Google.
التحليل يشير إلى التهويل والتزييف للحقائق الذي لعبته بعض المواقع المشهورة والأشخاص أمثال Engadget و Florian Mueller، حيث يوضح أن ملفات الـJava هي مجرد ملفات اختبار ويتم إسقاطها من النسخة النهائية الموزعة، أما عن خرق الرخصة وتبديلها بـ Apache فيعزو ذلك، إلى خطأ قد يكون ناجما عن بريمجات مؤتمتة كتب الرخصة في رأس الملفات البرمجية بصفة تلقائية عند إعادة بناء هذه الملفات.
من جهتها ردت Engadget على هذا الرد وغيره من الردود، أن القانون لا يحمي المغفلين:) لا يعترف بذلك، ويكفي وجود هذه الملفات ورفعها مع شيفرة النظام، وأنه لابد من التنبه من رخصة الملفات ولا ينبغي تغييرها سواء كان ذلك عن قصد أم غير قصد ولو كان ذلك من طرف قطة Eric Schmidt
- يا ترى أين ستذهب حيثيات هذه القضية؟ هل سنشهد مثلا JavacodeLeaks على شاكلة WikiLeaks
؟ يعقد عليه ولاء وبراء؟
ملاحظة: عنوان الخبر هو ترجمة لعنوان الخبر المنشور على zdnet
الإصدار النهائي من Tomcat 7 خادم تطبيقات Java الشهير متوفر للتحميل
الإصدار النهائي من Tomcat 7 خادم تطبيقات Java الشهير متوفر للتحميل
أطلق فريق عمل Tomcat خادم تطيبقات Java الشهير الإصدار 7.0.6 منه و هذا بعد عدة إصدارات Beta التي نشرت منذ أبريل الماضي.
يدعم هذا الإصدار كلا من الـ JSP في إصداره 2.2 و الـ servlet في إصداره 3.0، و يسمح استعمال هذا الإصدار من servlet لـ Tomcat 7 بتسهيل المهمة على المطورين، و خصوصا ما تعلق بإدارة الإعدادات، حيث تم استبدال استعمال ملف web.xml مركزي لجميع الإعدادات بجملة ملفات متفرقة تختلف باختلاف الآلية التي تديرها. كما يسمح هذا الإصدار إدارة متقدمة للـ Cookies و دعما للـ asynchronous threads.
كما يرقع هذا الإصدار العديد من العلل المكتشفة في الإصدارات السابقة كعلل تسربات الذاكرة، إضافة إلى جملة من الثغرات الأمنية.
Tomcat 7.0.6 متوفر للتحميل من هنا
Python لغة برمجة سنة 2010 حسب ترتيب TIOBE للغات البرمجة الأكثر شعبية
Python لغة برمجة سنة 2010 حسب ترتيب TIOBE للغات البرمجة الأكثر شعبية
نشرت TIOBE تقريرها الشهري للغات البرمجة الأكثر شعبية لشهر يناير و الذي تواصل فيه لغة Java محافظتها على صدارتها، فيما حلت كل من لغة C و لغة C++ ثانيا و ثالثا.
أما فيما يخص لقب “لغة عام 2010″، فلقد حصلت عليه Python بعدما كانت كل الأنظار متجهة نحو objective-C حيث ازدادت حصة هذه الأخيرة خلال عام بنسبة 1.63% في حين تجاوزتها Python بتسجيلها زيادة قدرت بـ 1.81%.
و يقصد بـ “لغة العام” اللغة التي سجلت أكبر زيادة من حيث شعبيتها خلال عام واحد، و لقد ساهمت منتجات Apple و خصوصا الـ iPhoneو الـ iPad في زيادة شعبية لغة objective-C قبل أن تسجل تراجع طفيفا في الأشهر القليلة الماضية.
أما فيما يخص الـ Python، فيشير تقرير TIOBE إلى أن استعمال هذه اللغة يعرف تزايدا مستمرا خصوصا في الأوساط الأكاديمية و التي أصبحت تدرس البرمجة باستخدام الـ Python، كما أنها لغة بدأت تفرض نفسها شيئا فشيئا كبديل للـ Perl فيما يخص استخدامها كلغة Scrpting. لكن ذلك لم يمنعها من أن تكون لها شعبية في أوساط مطوري الويب و ذلك بفضل الثنائي الجيد الذي تشكله مع Django.
و إليكم ترتيب يناير للغات البرمجة الأكثر شعبية:
| يناير 2011 | يناير 2010 | الحالة | لغة البرمجة | الشعبية يناير 2011 | النمو خلال عام |
| 1 | 1 | = | Java | 17.773% | +0.29% |
| 2 | 2 | = | C | 15.822% | -0.39% |
| 3 | 4 | ↑ | C++ | 8.783% | -0.93% |
| 4 | 3 | ↓ | PHP | 7.835% | -2.24% |
| 5 | 7 | ↑↑ | Python | 6.265% | +1.81% |
| 6 | 6 | = | C# | 6.226% | +0.46% |
| 7 | 5 | ↓↓ | (Visual) Basic | 5.867% | -1.49% |
| 8 | 12 | ↑↑↑↑ | Objective-C | 3.011% | +1.63% |
| 9 | 8 | ↓ | Perl | 2.857% | -0.71% |
| 10 | 10 | = | Ruby | 1.784% | -0.69% |
| 11 | 9 | ↓↓ | JavaScript | 1.589% | -1.12% |
| 12 | 11 | ↓ | Delphi | 1.287% | -1.10% |
| 13 | 18 | ↑↑↑↑↑ | Lisp | 1.109% | +0.53% |
| 14 | 17 | ↑↑↑ | Pascal | 0.919% | +0.29% |
| 15 | - | ↑↑↑↑↑↑↑↑↑↑ | Assembly | 0.864% | +0.86% |
| 16 | 14 | ↓↓ | SAS | 0.771% | -0.04% |
| 17 | 30 | ↑↑↑↑↑↑↑↑↑↑ | Transact-SQL | 0.758% | +0.38% |
| 18 | 33 | ↑↑↑↑↑↑↑↑↑↑ | RPG (OS/400) | 0.717% | +0.40% |
| 19 | 20 | ↑ | MATLAB | 0.706% | +0.17% |
| 20 | 28 | ↑↑↑↑↑↑↑↑ | Ada | 0.679% | +0.29% |
Google تهدي Eclipse Foundation تطبيقين بقيمة 5 ملايين دولار
Google تهدي مؤسسة Eclipse Foundation تطبيقين بقيمة 5 ملايين دولار
نعم، 5 ملايين دولار، هي قيمة التطبيقين اللذين قررت Google فتح مصدريهما و إهداءهما إلى مؤسسة Eclipse الراعية للـ IDE الذي يحمل نفس الاسم و الذي يستعمل بشكل أكبر للتطوير بلغة Java.

يتعلق الأمر بكل من تطبيق WindowBuilder Pro الخاص ببناء الواجهات الرسومية للتطبيقات المكتوبة بالـ Java و الذي يدعم كلا من Swing ، SWT ، GWT و الحاصل على جائزة أفضل تطبيق مبني على Eclipse سنة 2009، إلى جانب تطبيق CodePro Profile الذي يسمح بتحليل أداء التطبيقات المكتوبة بلغة Java و هما التطبيقان اللذان حصلت عليها Google بعد شرائها لشركة Instantiations شهر أغسطس الماضي.
حاليا فتحت Google مصدري التطبيقين ، و سينتقلان تحت مظلة مؤسسة Eclipse بداية من النصف الأول من العام القادم.
في رأيك، ما الذي ستجنيه Google من وراء هذه العملية ؟
Oracle تدعو Apache للعودة من جديد إلى مجتمع Java
Oracle تدعو Apache للعودة من جديد إلى مجتمع Java
بعد أن هددت منظمة Apache بالخروج من الـ (Java Community Process (JCP إن تمت المصادقة على مواصفات Java 7 و 8 التي تقدمت بها Oracle، و بعد أن بينت أنها لم تطلق هذه التهديدات مازحة و ذلك بتطليقها الفعلي لـ JCP و هو ما لم يَسُر Oracle، يحاول عملاق قواعد البيانات أن رأب الصدع الحاصل في بيت Java بدعوتها “غريمتها” للعدول عن رأيها.
جاء ذلك في تدوينة مقتضبة على مدونة Oracle تشير فيها إلى الدور الكبير الذي تلعبه Apache في معادلة Java و بفضلها عليها، و تدعوها إلى أن ترجع إلى المجتمع من جديد، لكنها لم تقدم أية تنازلات من جهتها.
و هو الأمر الذي دفع Jim Jagielski رئيس منظمة Apache إلى التساؤل “بتهكم” عن الأمر الذي قد يغير فعلا من رأي منظمته لترجع إلى الـ JCP و هو الذي يراها قد أفرغت من محتواها بعد أن “قتلتها” Oracle مثلما أشار إليه في مدونته الشخصية في مقال عنونه ” The JCP Is Dead… and Oracle killed it.”، داعيا –و لو بطريقة غير مباشرة- إلى إنشاء مجتمع جديد للغة يكون مستقلا عن أية هيمنة أو نفوذ، لمواصلة تطوير اللغة فيه.
السؤال الذي يطرح نفسه هو: هل سنشهد قريبا ولادة لمجتمع جديد يقوم على أنقاض الـ JCP ؟ و هل يقدر أن يفرض نفسه في ظل هيمنة Oracle على اللغة ؟
منظمة Apache تتنحى من مجتمع Java.
منظمة Apache تتنحى من مجتمع Java.
لا زلنا مع مسلسل Java/Oracle، يبدو أن عام محن Java لم ينقضي بعد، وإذا كنت تريد آخر حلقة فإليك هذا الخبر، هو خطب آخر جلل قد لحق مجتمع Java، فبعد أن تم الإقرار على مواصفات كل من Java7 و 8، قررت منظمة Apache الانسحاب من اللجنة التنفيذية (Java Community Process (JCP، بسبب نزاع دار حول سياسة الرخص التي تنتهجها Oracle وبالتالي تضع حدا لمساهماتها في لغة Java .
هذه الحلقة الجديدة من المسلسل المؤلم، قد تولد ردود أفعال كثيرة من مجتمع المطورين، فقد أنهت Apache بقرارها هذا، 10 سنوات من المساهمة في مشروع Java، وقد أرجعت ذلك لعدم احترام Oracle لطلب رفع قيودها على رخصة TCK) Java Technology Compatibility Kit) وعدم منحها لمشروع Harmony . هذا الأخير الذي أصبح مستقبله مجهولا، ولا أحد يدري هل ستستمر Apache في العمل عليه.
القيود المفروضة من طرف مستحوذ شركة Sun، تمنع الاستعمال الصحيح لبرامج مفتوحة المصدر في منصات الهواتف النقالة .
Apache استنكرت أيضا تطبيع بعض أعضاء لجنة JCP وعدم استنكارهم لسلوكات Oracle على منصة الـ Java ومنهم HP، Ericsson،Fujitsu, VMware و Intel.
باختصار Apache ترفض التحكم المفرط لـ Oracle على Java الذي -حسبها- قد تجاوز الحدود المتفق عليها.
يمكن الاطلاع على إعلان Apache استقالتها من مجتمع Java من على مدونتها الرسمية من هنا.
- لن نقول ما هو مستقبل Java في ظل Oracle لأنه أصبح سؤالا تقليديا :p لكن:
كيف ترى عزيزي القارئ قرار Apache وموقفها من سياسة Oracle؟ هل يعزز هذا قضية Google مع Oracle ؟













