جافا هي ليست فقط لغه جافا
مر عام على جافا 7 (منذ July 2011)، جافا 7 كانت أول اصدار رسمي للجافا منذ 5 سنوات ماضية، أول نسخه من جافا مفتوحة المصدر تحت رخصه open source software (اختصاراً OSS) ، أول اصدار منذ تولي شراء اوراكل لصن في 2010، أوراكل عملت بجد واستطاعت ان توضح لل Java Community أنها قادرة على التطوير في جافا، وبحسب تقديرات أوراكل هناك حوالي 9 مليون مطور يستخدم جافا، تقديرات Tiobe مازالت تقول ان جافا اللغه الأكثر شعبيه، وهناك أكثر من 2 بليون جهاز يستخدم جافا، ومنصه جافا توجد على حوالي 97% من أجهزة سطح المكتب.
هذا الإصدار احتوى على كثير من التحسينات والاضافات سواء كان للغه الجافا Java Language أو لدعم اللغات الأخرى التي تعمل فوق منصه الجافا Dynamic Languages وحتى في نظام الملفات والعمليات عليها File System. لكن بالمقابل ايضاً أجلت كثير من الاضافات التي كانت يفترض أن تكون في هذه النسخه 7 للنسخه القادمة 8 لغايه في نفس أوراكل، وهكذا يمكن أن نقول أن النسخه 7 ماهي الا الكلمة الأولى لأوراكل، والكلمة الثانيه بها الميزات الأخرى وأهمها الميزة المنتظرة في جافا وهي Lambda Expression (أو Closures) و دعم ال Modular Programming في اللغه وفي المنصه.
ومع ذلك، هناك كثير من الاضافات في النسخه 7 قدمت تسهيلات جيدة للمبرمجين وان لم تكن بالكثيرة ولكنها تعتبر حجر أساس للتغيرات القادمة الجذريه في جافا 8 (حسب خطة اوراكل) والتي قد تغير طريقك كتابتك عن ذي قبل. جافا 5 كانت من النسخ ذات التغييرات الجذريه حيث قدمت كثير جداً من الخصائص التي غيرت طرق الكتابة عن ما كان في 4 (قدمت الGeneric و ال Annotations وغيرها). حالياً نسخه 7 احتوت تغييرات بسيطة ولكنها اسس التغييرات في 8 (لذلك القول بأن نسخه 7 هي evolutionary وليست كما نسخه 8 revolutionary).
الخبر الجيد بالنسبه للمبرمجين الذين لم ينتقلوا بعد لنسخه 7 انه قد تأخر اطلاق النسخه 8 الرسمية (يمكنك تحميل نسخ قيد التطوير الآن) الى بعد 3 أشهر من الأن (بدايه عام 2013)، وها هي فرصه جيدة أن نسلط بعض الضوء على هذا الإصدار ونهيئ المبرمجين للنسخه القادمة 8، وهذا من الأمور المهمة لمطوري الجافا (وللمطورين بشكل عام) هو التعرف على المزايا الجديدة في اللغه واستخدمها خصوصاً التي تفيدك في عملك بشكل افضل ولكي تكون معلوماتك up-to date في اللغه.
حالياً يمكننا أن نقول أن جافا تتكون من شقين أساسين لغه البرمجة جافا Java Language (اللغه التي تعرفها وتبرمج بها فهي لغه كائنية OOP و static typed) ومنصة جافا Java Platform (وهي الJVM الذي يقوم بتنفيذ البايت كود)، التفرقه بينهم مهمه، وحتى الSpecification في جافا 7 Java Language Specification (اختصاراً JLS) مفصول تماماً عن الSpecification للمنصه VMSpec، وهذا يعني أنك قد تكون مهتم بالمنصه وتقوم بتحويل لغه ما لغه البايت كود التي تفهمها هذه المنصه، وهكذا ستعمل هذه اللغه فوق منصه الجافا. وهذا ما حصل الآن العديد من اللغات تعمل فوق منصه الجافا (بالاضافة الى لغه الجافا) وتستفيد من المزايا التي تقدمها هذه المنصه الرائعه ومن أشهر اللغات: Groovy, Scala, Clojure.
التغييرات الجديدة
الجدول التالي يبين بشكل عام التغييرات التي حصلت في جافا 7 وهي من موقع OpenJDK الرسمي
من أهم التغييرات التي نراها مهمه للمبرمج والتي سنوضحها في مقالات متفرقه في هذه المدونة:
مشروع الCoin (التحسينات الصغيرة في اللغه) وكانت بالرقم JSR 334
وهو نتيجة نداء مفتوح للمطورين بتقديم اي مقترحات مفيدة يمكن ضمها في جافا النسخه 7 (حدث ذلك في 2009) وقد قدم حوالي 70 مقترح وفي الأخير تم اختيار 6 من هذه المقترحات وتم تطبيقها في النسخه 7 ، هذه الاضافات الجديدة سهلت البرمجة في جافا أكثر من ذي قبل .
تقديم API جديدة للعمل مع الملفات File System
دعم البرمجة المتوازية Parallel Programming
وهي تقريباً من أهم الاضافات في النسخه 7 والتي تسمح لك بتقسيم المشكلة الى أجزاء صغيرة لكي تعمل في ان واحد في الكورز لديك في المعالج (من خلال ال Fork/Join Framework). شرح هذه الكلاسات تحتاج لمقاله أخرى لتفصيلها جيداً خصوصاً لمن لديهم معرفة بال Concurrent Programming.
ضم ملم النفايات الجديد G1 وضغط المؤشرات ال64 بت في الذاكرة
هذا ال GC صمم لكي يستبدل جميع الGC الموجودين في جافا حيث جمع بين مزاياهم ، ولكي نتحدث عنه يجب ان نتحدث عن الGC بشكل عام ولذلك سوف نفرد لها مقاله موسعه بهذا الأمر ان شاء الله.
دعم اللغات الأخرى Dynamic Languages
وهذه من الاضافات المهمة في جافا 7 والتي سمحت للDynamic Language العمل فوق منصه جافا وذلك بالاستفادة من قدرات InvokeDynamic وهذا جعل منصه الجافا هدف للغات الDynamic للاستفادة من الميزات التي تقدمها.
هذه المقالة سوف تحدث باستمرار حتى نغطي كافه مزايا النسخه 7 (المسماه بالدولفين dolphin، هل عرفت لماذا صورة الدولفين)، وكذلك سنفرد مقاله مخصصه للمزايا المطروحة في 8 , أمل أن تسترعي هذه النسخه انتباهك وتبدأ بشد الرحال اليها، ولكن لا تخطط للبقاء طويلاً فجافا 8 على الأبواب.