إنَّ الحَمْدَ لِلَّهِ نَحْمَدُهُ وَنَسْتَعِيُنُهُ وَنَسْتَغْفِرُهُ وَنَسْتَهْدِيهِ وَنَعُوذَ بِاللهِ مِن شُرُورِ أََنفُسِنَا وَسَيئَاتِ أَعْمَاِلَنَا،
مَن يَهْدهِ اللهُ فَلا مُضلَّ لَه ، وَمَن يُضْلِل فَلا هَادِي لَه، وَأَشْهَدُ أَنَّ لاَ إِلهَ إلا اللهُ وَحدَهُ لاَ شَريكَ لَهُ،
وَأَشْهدُ أنَّ مُحَمَّداً عَبدُهُ وَرَسُولُهُ .
السلام عليكم اخواني اخواتي أعضاء وزوار شبكة همس الشوق
درس اليوم سيكون تعريفاً بسيطاً لتاريخ الجافا وتطورها، نرجو أن يفيدكم الدرس ولو بالشيء القليل.
تاريخ تطور الجافا:
لفهم الجافا كلياً يجب أن نفهم الأسباب وراء اخترعها ، القوات التي شكلتها والإرث الذي ورثته. مثل اللغات البرمجية الناجحة التي أتت قبلها، جافا هي
مزيج من أحسن عناصر تراثها الغني مدموج مع المفاهيم المبتكرة اللازمة لمهمتها الفريدة.
مع أن الجافا باتت مرتبطةً بصورة لاانفصام لها مع الإنترنت والبيئة الإلكترونية للأنترنت، فإنه مهم جداً تذكر أن الجافا هي أولا وقبل كل شيء لغة برمجة.
إن تطور لغة برمجة ما وابتكارها يحدث لسببين رئيسيين هما:
التأقلم مع التغير البيئي والاستعمالي.
القيام بتحسين وتطوير فن البرمجة.
نسب الجافا:
جافا قريب ال ++C ، الذي هو منحدر مباشرةً من C. الكثير من صفة الجافا موروث من هاتين اللغتين. من ال C تستمد جافا تركيبتها اللغوية والكثير من
خصائص التوجه الكائني مستمد من ++C.
في الواقع الكثير من الخصائص المميزة للجافا أتت من -أو هي ردود- لاسلافها، من ناحية أخرى إختراع الجافا متجذر من عملية التحسين والتأقلم التي كانت
تحدث في لغات البرمجة في العشريات الأخيرة.
كما تعلمون كل إبتكار أو إبداع في تصميم لغة برمجة كان مدفوع لضرورة حل مشكل أساسي لم تستطيع حلها اللغات السابقة.وجافا بدون إستثناء.
إختراع الجافا:
جافا اخترعت من طرف جيمس جوسلينج (James Gosling)، باتريك نوغتن (Patrick Naughton)، كريس وارث (Chris Warth)، إد فرانك
(Ed Frank) و مايك شريدان (Mike Sherida)في شركة سن مكرسيستمس (Sun Microsytems inc) عام 1991, حيث أخذت منهم 18 شهراً
لتطوير أول نسخة ناجحة سميت أوك "Oak"، أعيد تسميتها جافا "Java" في 1995. بين أول تطبيق لأوك "Oak" في خريف 1992 إلى الإعلان العام
عن جافا في ربيع 1995, شارك الكثير في تصميم اللغة. من بينهم بيل جوي (Bill Joy)، أرثر فان هوف (Arthur Van Hoff) واخرون كانوا المساهمين
الأساسيين للنموذج الأصلي.
جيمس جوسلينج (James Gosling)
والغريب بعض الشيء أن الدافع الأصلي لم يكن الأنترنت، ولكن الدافع الأولي كان الحاجة إلى لغة برمجة ذات منصة مستقلة (Platform-Independent)
و ذات هندسة محايدة (architecture-neutral) تمكن من إنجاز برامج يمكن دمجها في العديد من الأجهزة الإلكترونية مثل أجهزة المايكرويف وأجهزة
التحكم عن بعد.
كما تعلمون العديد من البروسيسورات تستخدم للتحكم في الأجهزة،كان المشكل مع C و ++C ومعضم اللغات الأخرى أنها مصممة للترجمة إلى هدف معين،
مع أنه يمكن ترجمة برامج ++C لأي نوع بروسيسور لعمل هذا يستلزم كومبايلر (Compiler)كامل يستهدف هذا النوع من البروسيسور، والمشكل يكمن
في أن الكومبايلر مكلف ويأخذ وقت كبير للإنجاز، وهنا كانت الحاجة لحل سهل وغير مكلف.
لمحاولة إيجاد مثل هذا الحل بدأ Gosling والأخرين بالعمل على لغة محمولة وذات منصة مستقلة والتي يمكن استعمالها لإنشاء كود بإمكانه العمل على العديد
من البروسيسورات تحت بيئات مختلفة وهذا الجهد قاد إلى إختراع الجافا.
ولكن في نفس الوقت الذي كانت تفاصيل الجافا بدأت تنشأ ضهر عامل أخر وأكثر أهمية لعبة دوراً هاماً في مستقبل الجافا هذا العامل كان الأنترنت بالطبع،
لو لم تظهر الأنترنت في نفس الوقت الذي بدأت الجافا تطبق وتطور ربما لبقيت الجافا لغة برمجة نافعة ولكن غامضة تستعمل في برمجة الأجهزة الإلكترونية.
لكن مع ضهور الأنترنت دفعت الجافا إلى مقدمة لغات البرمجة لأن الأنترنت أيضاً تطلبت برامج محمولة.
كيف غيرت جافا الأنترنت ؟
ساعدت الأنترنت على قذف الجافا إلى المراتب الأولى للغات البرمجة وبالمقابل كان للجافا تأثير عميق على الأنترنت زيادة على ذلك تسهيل برمجة المواقع عامة،
جافا طورت نوع جديد من برامج الشبكة والتي سميت الواجهات (Applets). جافا تناولت أيضاً بعض القضايا الشائكة الخاصة بالأنترنت ألا وهي الحمولية
والأمن.
سحر الجافا: البايت كود (Bytecode)
المفتاح الرئيسي الذي مكن الجافا من حل مشكل الحمولية والأمن هو أن ناتج كومبايلر الجافا ليس كود قابلاً للتنفيذ (exe) بل هو بايت كود.
البايت كود هو تعليمات مطورة بشكل عالي مصممة للتنفيذ من طرف الألة الإفتراضية للجافا (Java Virtual Machine)، ال JVM الأصلي صمم كمترجم
للبايت كود.
هذا مفاجئ قليلاً لأن الكثير من لغات البرمجة المعاصرة مصممة لتحويل الكود إلى كود تنفيذي للحصول على جودة أداء عالية ولكن في حقيقة الأمر تنفيذ برامج
الجافا من طرف JVM ساعد على حل مشاكل عويصة خاصة ببرامج الأنترنت. وهاهو السبب لماذا ...
ترجمة برنامج جافا إلى بايت كود تساعد كثيراً سهولة عمل البرنامج في العديد والكثير من البيئات المختلفة لأنه يجب تنفيذ أو تطبيق ال-JVM فقط على كل
منصة أو نظام، لا يجب أن ننسى أن JVM سيختلف من نظام إلى أخر أو منصة إلى أخرى ولكن كلهم يفهمون نفس الجافا بايت كود.
خصائص الجافا:
لن يكتمل النقاش حول تاريخ الجافا بدون إلقاء نظرة على بعض الكلمات التي أدت إلى تطويرها، مع العلم أن القوتين الرئيسيتين اللتين ادتا إلى إختراع الجافا
كانت الحمولية والأمن إلا أنه كان هناك عوامل أخرى لخصها فريق الجافا في ما يلي:
البساطة
الأمن
الحمولية
التوجه الكائني
القوة
الهندسة المحايدة
الترجمة
الأداء العالي
التوزيع
الديناميكية
إلى هنا اخواني اخواتي ينتهي درس اليوم المتعلق بتاريخ الجافا، شكرا لكم على المتابعة وأرجو من الله عز وجل أن نكون قد وفقنا ولو قليلاً في هذا الموضوع.
إلى درس أخر إن شاء الله, تابعونا
والسلام عليكم ورحمة الله تعالى وبركاته