الثلاثاء، 12 مايو 2015

سلسلة تعلم جافا . الدرس الأول

مقدمة عن لغة الجافا


كثيراً ما نسمع في هذه الأيام عن لغة الجافا حتى يبدو وكأنها قي كل مكان حتى في المكتبات لو تمعنت النظر لوجدت كتب المكتبة مليئة بكتب الجافا حتى الصحف الضخمة و المجلات تجد فيها العديد من المقالات التي تتحدث عن الجافا .
كل هذا يجعلك تتساءل عن سبب انتشار هذه اللغة والجواب ببساطة أنها تتيح للمستخدمين إمكانية تطوير تطبيقات تعمل على الويب من اجل المخدمات والأجهزة الصغيرة آالهاتف النقال و الأن التحفة أندرويد وغيرة . وألان لنبحر سوياَ في تاريخ الجافا .
ففي أوائل التسعينيات من القرن العشرين ١٩٩١ اخترعت لغة الجافا شرآة صن ميكروسيستمز ولهذا الاختراع قصة عجيبة حيث أن الشرآة كانت قبل ذلك قد آلفت المهندس جيمس جوزلينج بوضع برامج لتشغيل الأجهزة التطبيقية الذآية مثل التليفزيون التفاعلي باستخدام لغة سي++ وحينها وجد جيمس جوزلينج صعوبة في التعامل مع هذه اللغة فقام هو وفريق العمل المساعد له بتطوير هذه اللغة فولدت لغة جديدة تتوافق مع احتياجاته فكانت لغة الجافا وقد خططت شركة صن في تلك الأيام لاستغلال هذه اللغة الوليدة في التليفزيون التفاعلي لكي تربح المليارات وحدث نوع من البطء في مشروع التلفزيون التفاعلي ربما عن قصد من الشرآات الأخرى المنافسة  ونتيجة لذلك فكرت شرآة صن في توقيف مشروع تطوير هذه اللغة الوليدة وتسريح العاملين في هذا المشروع أو نقلهم إلى قسم آخر ولكن حدث ما لم يكن في الحسبان حيث أنه في هذه الفترة آانت الانترنت قد بدأت في الانتشار بسرعة مذهلة مع نزول نظام الويندوز للأسواق وحيث أن لغة الجافا الوليدة التي اخترعت أصلا لبرمجة الأجهزة التطبيقية فيها من السمات ما يجعلها أكثر توافقا مع الشبكة العنكبوتية الدولية  الإنترنت  فقد كان لها السبق وأضافت الكثير إلى الإنترنت الذي آان قبلها مقصورا على تبادل النصوص ولكن المطورين بشرآة صن ابتكروا طريقة تجعل برامج الجافا تعمل بسهولة في صفحات الإنترنت وغيروا الاسم الذي آان قد أطلقه عليه مبتكرها من آواك  شجرة السنديان  إلى الجافا ومن هنا أصبحت الجافا مرتبطة في شهرتها بالإنترنت حيث أن برنامج جافا صغير يوضع في صفحة من صفحات موقع على الشبكة الدولية يراه الملايين في جميع أنحاء العالم في نفس الوقت وقد آان هذا لا يتوفر إلا مع الجافا مما أعطاها شهرة واسعة أكبر من شهرة نجوم هوليود ولحسن حظ شرآة صن أن لغة الجافا أثبتت نفسها في المجال الذي طورت له أصلا فقد بدأ الآن التليفزيون التفاعلي في الانتشار وما يسمى سينما المنزل والمشاهدة
حسب الطلب وليس هذا فقط بل أنتشر ما هو أآثر فائدة لشرآة صن وهو الهاتف المحمول وللجافا أكبر دور في برمجة البرامج التي يعمل بها في أجياله السابقة واللاحقة ولا نستغرب أن يحدث نوع من الغيرة بين شركة ميكروسوفت وشركة صن ميكروسيستمز مما دفع ميكروسوفت إلى أن تحذف ماكينة الجافا الافتراضية من الإصدارة الأولى للويندوز اكس بي وهذه الماكينة الافتراضية مسئولة عن عرض برامج الجافا على الانترنت ولكن ميكروسوفت تراجعت أمام طلب ملايين المستخدمين حول العالم فوضعتها مرة ثانية في الإصدارات اللاحقة وقد كانت قضية مشهورة تناولتها الصحف والمجلات . وقد ساهم في شهرة الجافا أيضا برامجها العلمية التفاعلية التي تصلح لمعظم المناهج التعليمية في جميع مراحل التعليم وبالتالي فان لها دورا كبيرا في التعليم الالكتروني والتعليم عن بعد والفصول الافتراضية .




مميزات الجافا


  1. لغة سهلة التعلم و كثيرة الأمكانيات وبدون تعقيدات آالسي بلس بلس .و في برمجة OOP فهي الرائدة. 
  2. لغة برمجية تعمل طبعا تدعم OOP و تعتبر من أفضل اللغات التي تطبق الفكرة و مميزاتها الجبارة .
  3. لغة أمنة من ناحية البرامج التي تنفد في الحاسب فإنها لا تؤدي نظام التشغيل .
  4. لها بيئة تشغيل خاصة بها JAVA Visual Machine 
  5. لها مكتبة خاصة بها Class Libraries
  6. تقوم على لغة C++ C 
  7. يمكن لأي برنامج معمول بلغة الجافا أن يعمل بشكل مباشر على أيframework بمعني إن البرنامج يمكن أن يعمل على Mac أو Linux أو Windows XP على عكس إمكانيات بعض لغات البرمجة الاخري
  8. تأخذ تلقائيا البيئة التي تعمل ضمنها وتدعى هذه التقنية تقنية سوينغ أي انك عندما تقوم بتطوير جافا فان هذه التطبيقات عندما تعمل ضمن ويندوز فان عناصرها المختلفة تأخذ شكل ويندوز وعندما تعمل ضمن بيئة الماآنتوش فأنها تأخذ تلقائيا شكل واجهات الماآنتوش وهذه ناحية هامه جدا للمستخدم وللمبرمج
  9. والكثير من المميزات التي لم أتطرق إليها

ولكن ماهو سر هذه القوة....
لقد آان في فكر مخترع هذه اللغة هو اختراع لغة تستطيع أن ترآز بها في وصف المشكلة التي تريد حلها بعيدا عن تفاصيل نظام التشغيل. هذه التفاصيل مثل:
كيفية كتابة ملف على القرص الصلب وفي إعادة القرائة
و متى أقوم بحذفها Object كيف أخلق المعلومات في صورة
فمثلا إذا آنت أريد أن أكتب برنامج لإدارة المدارس وقلت لك أن تأخذ التفاصيل السابقة معك وأن تفكر في
المشكلة فلن تصل لحل المشكلة مثل شخص آخر يضع آل تفكيره وتركيزه في وصف نظام إدارة المدرسة مثل
من له حق استخدام النظام و ما هي المعلومات المطلوبة عن المدرسين و الطلبة و المناهج و ما هي السيناريوهات USE CASES المختلفة للنظام.
إذن فلغة الجافا هي تقريبا مثل أي لغة طبيعية كالعربية والإنجليزية نستخدمها لنعبر عن أفكارنا ومشاكلنا
ونتواصل بها مع الآخرين .
تعتبر JVM الجزء الوحيد من بيئة البرمجة الجافية الذي يعرف ما هو نظام التشغيل الذي تعمل عليه البرامج المختلفة. فالفئات كما ذكرت، تعرف أنها يجب أن تعمل لحساب الآلة التخيلية. و هي واحدة في آل مكان مهما اختلف نظام التشغيل و نوع الكومبيوتر. أما الآلة التخيلية نفسها، فهي العضو الذي يتصل بالكومبيوتر.. و يقوم بما يلزم من عرض على الشاشة، أو قراءة من الكيبورد، إذا لابد أن تعرف ال JVM عن نظام التشغيل الذي تعمل عليه


أفضل مترجم للجافا


توجد أكثر من طريقة لكتابة برامج الجافا وترجمتها منها :
1 - استعمال المكتبة JDK مباشرة مع استعمال أي محرر سطور: 
تعتبر هذه الطريقة التقليدية هي استعمال أدوات  JDK   التي أنتجتها شركة SUN مع أي محرر سطور لإعداد البرنامج وهي 
الطريقة المتبعة عند شرح أجزاء لغة جافا ونبدأ آما يلي :
الأدوات المطلوبة لاستعمال هذه الطريقة:
* -  محرر سطور وليكن المفكرة الموجود مع ويندوز  Notepad أو الأفضل الحصول على المفكره Notepad ++
* - أدوات المجموعة JDK.
2 - استعمال برامج وسيطة مثل "وهي الطريقة المفضلة بين المبرمجين" .
      * - برنامج إكيليبس eclipse
           و يمكنك تحميلة من هنا https://www.eclipse.org/downloads/
     * - برنامج نت بينز NetBeans
          و يمكنك تحميلة من هنا https://netbeans.org/