Tuesday, May 17, 2016

ﻣﻘﺪﻣﺔ ﻋﻦ ﻟﻐﺔ اﻟﺠﺎﻓﺎ Introduction to Java

10:08 PM

Share it Please

ﻣﻘﺪﻣﺔ ﻋﻦ ﻟﻐﺔ اﻟﺠﺎﻓﺎ Introduction to Java



ماذا نعني بالبرمجة 
البرمجة تعني : مجموعة من الأوامر والتعليمات التي تعطى للحاسب في صورة برنامج مكتوب بلغة برمجة معينة بواسطة معالج نصوص ويتكون مصدر البرنامج من عدة سطور وكل سطر يعتبر جملة ويتعامل الحاسب مع كل جملة بترتيب معين لإنجاز الأمر الذي صمم البرنامج لتحقيقه 
ولكن أريد أن أتعرف على أمثلة للغات البرمجة 
توجد لغات برمجة عديدة إلا أنه يوجد فيها نوع من التخصص حيث يعتمد إختيار اللغة على المهام التي نريد من الحاسب إنجازها حيث أن لكل لغة ما يناسبها وهناك مهام يصعب تنفيذها بلغة معينة ولكنها تكون ميسورة بلغة أخرى ومن اللغات التي ظهرت في فترة الستينات لغة البيسك وهي لغات تدرس للمبتدئين وكلمة بيسك لفظة أوائلية تشكل الحروف الأولى من
Biginners All Symbolic Instruction Cod  
وظهرت بعدها لغة فيجوال بيسك التي وضعتها ميكروسوفت وهي غنية عن التعريف ولها مميزات عديدة حيث تجمع بين سهولة لغة البيسك وتصميم برامج ذات واجهة رسومية وأيضا فيجوال بيسك سكريبت التي تقدم بريمجات تعمل ضمن صفحات الانترنت وأيضا لغة السي بلاس بلاس ذائعة الصيت وهي لغة برمجة تم ابتكارها كتطوير للغة السي التي هي الأخرى تحسين للغة البي وهناك العشرات من لغات البرمجة الأخرى ولكن الآن نأتي لبيت القصيد وموضوعنا اليوم وهي اللغة التي أدهشت العالم ألا وهي لغة الجافا
أريد أن أعرف المزيد ؟
ابتكر لغة الجافا المهندس جيمس جوزلينج في أوائل التسيعينات من القرن المنصرم  1992 أثناء عمله في مختبرات شركة صن ميكروسيستمز وذلك لإستخدامها بمثابة العقل المفكر المستخدم لتشغيل الأجهزة التطبيقية الذكية مثل التيلفزيون التفاعلي وقد كانت لغة الجافا تطويرا للغة السي بلاس بلاس وعند ولادتها أطلق عليها مبتكرها أواك بمعنى شجرة السنديان وهي الشجرة التي كان يراها من نافذة مكتبه وهو يعمل في مختبرات صن ميكروسيستمز ثم تغير الاسم الى جافا وهذا الاسم على غير العادة في تسمية لغات البرمجة ليس الحروف الأولى من كلمات جملة معينة أو تعبيرا بمعنى معين ولكنه مجرد اسم وضعه مطوروا هذه اللغة لينافس الأسماء الأخرى
ما مميزات الجافا ؟
تتميز لغة الجافا بمميزات خاصة مما يجعلها أكثر لغات البرمجة إثارة حيث تمكننا من الآتي
اضافة الحركة والصوت الى صفحات الويب
كتابة الألعاب والبرامج المساعدة
انشاء برامج ذات واجهة مستخدم رسومية
تصميم برمجيات تستفيد من كل مميزات الأنترنت
توفر لغة الجافا بيئة تفاعلية عبر الشبكة العنكبوتية وبالتالي تستعمل لكتابة برامج تعليمية للإنترنت عبر برمجيات المحاكاة الحاسوبية للتجارب العلمية وبرمجيات الفصول الإفتراضية للتعليم الإلكتروني والتعليم عن بعد
ما الذي يسهل تعلم الجافا ؟ 
على الرغم من صعوبة عملية البرمجة التي تتطلب عادة أربع سنوات دراسية للحصول على مؤهل جامعي في مجال تقنية المعلومات وجهاز حاسب شخصي وقدرات ذهنية مرتفعة وصبر طويل إلا أن تعلم البرمجة بلغة الجافا يعد أسهل من تعلم البرمجة بلغات أخرى والسبب هو انتشار الانترنت حيث تتوفر أدوات البرمجة بهذه اللغة على موقع شركة صن ميكروسيستمز كما يمكن تحميل برامج جافا من مواقع انترنت مختلفة 
ما متطلبات البرمجة ؟ 
Interpreter مفسر
تتطلب بعض لغات البرمجة مفسرا يقوم بتفسير كل سطر من البرنامج ويبلغ الحاسب بالمهام التي يتعين عليه القيام بها ومن هذه اللغات لغة البيسك وتتميز اللغات التي تحتاج مفسرا بسهولة اختبارها ولكن يعيبها أنها تكون بطيئة عند تشغيلها
Compiler مترجم
يتطلب البعض الآخر من لغات البرمجة مترجما يقوم بترجمة البرنامج وتحويله الى شكل يفهمه الحاسب وتتميز البرامج المترجمة بسرعة تشغيلها ولكن يعيبها الحاجة الى وقت أطول لإختبارها حيث يكتب البرنامج ثم يترجم ثم يجرب وفي حالة وجود أخطاء يجب تصحيحها أولا ثم يعاد ترجمته ومن ثم تجريبه للتحقق من زوال الخطأ
ولغة الجافا لغة فريدة تتطلب مترجما ومفسرا 
ما الذي أحتاجه لكي أكتب برنامجا بلغة الجافا ؟ 
Java Developers Kit ( JDK) عدة تطوير الجافا
تعتبر هذه الأداة الأولى التي وضعها مطوروا الجافا بشركة صن ميكروسيستمز ورغم وجود أدوات برمجة أخرى من عدة شركات منافسة إلا أنه من الأفضل أن نأخذ الأمر ممن طوره وهذه الأداة قد صدرت في عدة إصدارات ويمكن تحميل هذه الأدوات من موقع صن ميكروسيستمز
ثانيا محرر نصوص لكتابة البرامج 
ولكن لماذا نالت الجافا هذه الشهرة والإهتمام العالمي ؟ 
لكي نجيب عن هذا التساؤل نتعرف أولا على الطريقة التي طورت بها لغة الجافا ففي أوائل التسعينيات من القرن العشرين 1990 اخترعت لغة الجافا شركة صن ميكروسيستمز ولهذا الإختراع قصة عجيبة حيث أن الشركة كانت قبل ذلك قد كلفت المهندس جيمس جوزلينج بوضع برامج لتشغيل الأجهزة التطبيقية الذكية مثل التيلفزيون التفاعلي باستخدام لغة سي بلاس بلاس وحينها وجد جيمس جوزلينج صعوبة في في التعامل مع هذه اللغة فقام هو وفريق العمل المساعد له بتطوير هذه اللغة فولدت لغة جديدة تتوافق مع احتياجاته فكانت لغة الجافا وقد خططت شركة صن في تلك الأيام لاستغلال هذه اللغة الوليدة في التيلفزيون التفاعلي لكي تربح المليارات وحدث نوع من البطء في مشروع التلفزيون التفاعلي ــ ربما عن قصد من الشركات الأخرى المنافسة ــ ونتيجة لذلك فكرت شركة صن في توقيف مشروع تطوير هذه اللغة الوليدة وتسريح العاملين في هذا المشروع أو نقلهم الى قسم آخر  ولكن حدث ما لم يكن في الحسبان حيث أنه في هذه الفترة كانت الانترنت قد بدأت في الإنتشار بسرعة مذهلة مع نزول نظام الويندوز للأسواق وحيث أن لغة الجافا الوليدة التي اخترعت أصلا لبرمجة الأجهزة التطبيقية فيها من السمات ما يجعلها أكثر توافقا مع الشبكة العنكبوتية الدولية ـ الإنترنت ـ فقد كان لها السبق وأضافت الكثير الى الإنترنت الذي كان قبلها مقصورا على تبادل النصوص ولكن المطورين بشركة صن ابتكروا طريقة تجعل برامج الجافا تعمل بسهولة في صفحات الإنترنت وغيروا الإسم الذي كان قد أطلقه عليه مبتكرها من أواك ـ شجرة السنديان ـ الى الجافا ومن هنا أصبحت الجافا مرتبطة في شهرتها بالإنترنت حيث أن برنامج جافا صغير يوضع في صفحة من صفحات موقع على الشبكة الدولية يراه الملايين في جميع أنحاء العالم في نفس الوقت وقد كان هذا لا يتوفر الا مع الجافا مما أعطاها شهرة واسعة أكبر من شهرة نجوم هوليود ولحسن حظ شركة صن أن لغة الجافا أكدت نفسها في المجال الذي طورت له أصلا فقد بدأ الآن التيلفزيون التفاعلي في الانتشار وما يسمى سينما المنزل والمشاهدة حسب الطلب وليس هذا فقط بل إنتشر ما هو أكثر فائدة لشركة صن وهو الهاتف المحمول وللجافا أكبر دور في برمجة البرامج التي يعمل بها في أجياله السابقة واللاحقة ولا نستغرب أن يحدث نوع من الغيرة بين شركة ميكروسوفت وشركة صن ميكروسيستمز مما دفع ميكروسوفت الى أن تحذف ماكينة الجافاالافتراضية من الاصدارة الاولى للويندوز اكس بي وهذه الماكينة الافتراضية مسئولة عن عرض برامج الجافا على الانترنت ولكن ميكروسوفت تراجعت أمام طلب ملايين المستخدمين حول العالم فوضعتها مرة ثانية في الإصدارات اللاحقة وقد كانت قضية مشهورة تناولتها الصحف والمجلات خلال العام الماضي
وقد ساهم في شهرة الجافا أيضا برامجها العلمية التفاعلية التي تصلح لمعظم المناهج التعليمية في جميع مراحل التعليم وبالتالي فان لها دورا كبيرا في التعليم الالكتروني والتعليم عن بعد والفصول الافتراضية




لغة الجافا:

 هي لغة حديثة أنتجتها شركة سن(Sun) عام 1995م لتناسب التطبيقات الحديثة. وهي تناسب تطبيقات الإنترنت حيث أصبحت هي قلب برمجة الإنترنت بما توفره من إمكانيات .


تتصف لغة الجافا بالصفات التالية :

1.    لغة برمجية تدعم مبادئ الكائنية
2.     لها بيئة تشغيل خاصة بها .JVM 
3.     تقوم على لغة  Cو.C++ 
4.    تعمل على معظم نظم التشغيل.



 بيئة التشغيل (JVM):

       الحروف JVM اختصار للعبارة(  Java Virtual Machine  ) وهي فكرة قامت جافا بإنشائها لتجعل لغة جافا تعمل على جميع أو معظم أنظمة التشغيل . وتقوم الفكرة على إنشاء طبقة وسيطة Software   كأنها برنامج تشغيل للبرامج Runtime لكل نظام تشغيل يتم إنزاله أولاً على الأجهزة بحيث تفهم هي برامج جافا وتفسرها لنظام التشغيل ثم الجهاز ولهذا كان من مزايا لغة جافا أنها تعمل على كثير من نظم التشغيل الموجودة بعد إعداد JVM الخاصة بمعظم أنظمة التشغيل .. فلا يهم إذا كان البرنامج مكتوب لنظام التشغيل WINDOWS أو UNIX و المهم أن البرنامج يكتب ثم يحمل إلى الجهاز وعلى الجهاز يوجد JVM للنظام الموجود وبالتالي يعمل البرنامج .


ما الفرق بين Java و JavaScript:
الفرق بينهما شاسع.... فهما لغتان مختلفتان تماما أو لنقل لغة و سكريبت ...هذه بعض الفروق الأساسية  بينهما:
ü  لغة الـ Java يكون النص البرمجي لها "Code" محفوظا في ملفات متعددة بينما في JavaScript فان نصها البرمجي مضمن في صفحات الـ HTML.
ü    لغة الـ JavaScript تستخدم لتعزيز قدرة الـ HTML على التحكم بطريقة عرض المعلومات على الشاشة بينما باستخدام Java يمكن عمل "برامج" منفصلة كتطبيقات سطح المكتب أو حتى الـ applets .... او عمل الربط بين العميل و الخادم Client/Server مثل PHP او ASP.
ü    يمكن دائما رؤية و تعديل نص الـ JavaScript من خلال أي برنامج تحرير نصوص ومن ثم حفظ الملف بصيغة html و عرضه على أي متصفح انترنت .... بينما برامج الـ Java تحتاج إلى عمل compile ومن ثم interpret لها قبل "تنفيذها".



أهم مميزات الجافا:
أكثر لغات البرمجة إثارة  حيث تمكننا من الآتي: تتميز لغة الجافا بمميزات خاصة مما يجعله
إضافة الحركة والصوت إلى صفحات الويب.*
*كتابة الألعاب والبرامج المساعدة.
إنشاء برامج ذات واجهة مستخدم رسومية. *
تصميم برمجيات تستفيد من كل مميزات الانترنت. *
 * توفر لغة الجافا بيئة تفاعلية عبر الشبكة العنكبوتية وبالتالي تستعمل لكتابة برامج تعليمية للإنترنت عبر برمجيات المحاكاة الحاسوبية للتجارب العلمية وبرمجيات الفصول الافتراضية للتعليم الإلكتروني والتعليم عن بعد.
نسخ لغة الجافا:
J2EE:هي اختصار ل Java 2 Enterprise Edition  وهي تزودنا بالتطبيقات الكبيرة على مستوى الشركات الكبيرة.
J2SE: هي اختصار ل Java 2 Standard Edition  يتم من خلالها دراسة اللغة وإنشاء التطبيقات أساسيةDesktop Application)).
J2ME:هي اختصار ل Java 2 Micro Edition فهي تخص ال  (wireless devices)  بشكل عام يعني على أجهزة الجوال وغيرها.
ماهو ألJDK؟
Java Developers Kit ( JDK) عدة تطوير الجافا تعتبر هذه الأداة الأولى التي وضعها مطورو الجافا بشركة صن ميكروسيستمز ورغم وجود أدوات برمجة أخرى من عدة شركات منافسة إلا أنه من الأفضل أن نأخذ الأمر ممن طوره وهذه الأداة قد صدرت في عدة إصدارات ويمكن تحميل هذه الأدوات من موقع صن ميكروسيستمز .

طريقة تحميل اللغة جافا:

لكي نكتب برنامج بلغة الجافا يجب أولا إعداد الحاسب وتجهيزه بنوع من البرمجيات الخاصة ببرمجة الجافا:
أولا :تحميل JVM.
ثانياً:تحميل JDK.
ثالثاً:تحميل J2SE.
رابعاً:Java Editor(JCreator).: JCreatorإحدى البرامج المعدّة لتسهيل كتابة برامج لغة الجافا فهي بيئة تطوير متكاملة و خفيفة لمبرمجي جافا. مميزات البرنامج تحتوي على ادارة المشاريع و القوالب و ابراز المصدر و غيرها الكثير.
ملاحظة:
 يمكن كتابة برامج الجافا في  محرر نصوص عادي وتنفيذه في بيئة الـDos  .
ملاحظات خاصة بالغة:
·         اللغة حساسة للأحرف الصغيرة الكبيرة.
·         جمل التعليق في الجافا كما في لغة الـC  //لسطر واحد و /* ------*/ لاكثر من سطر .
·         يمكن استخدام اسطر فارغة لا تؤثر في الترجمة .
·         يجب حفظ الملف الخاص بالبرنامج بامتداد .java

الكلمات المحجوزة في اللغة
public
finally
abstract
return
float
boolean
short
for
break
static
if
byte
super
implements
case
switch
import
catch
synchronized
instanceof
char
this
int
class
throw
interface
continue
throws
long
default
transient
native
do
true
new
double
try
null
else
void
package
extends
volatile
private
false
while
protected
final








يوضح الجدول التالي بعض التعليمات بلغة الجافا وتوضيح سير عملها.

تعليمات برمجية
وصفها
System.out.print("---")
وهذه الجملة تقوم بإظهار الجمل النصية وكذلك أي معلومات أو بيانات في نافذة الأوامر (command window) حيث يتم تنفيذ برامج الجافا.ويظل المؤشر في نفس السطر.
System.out.println("---")
نفس التعليمة السابقة ولكن تتم الطباعة وينتقل المؤشر سطر جديد.
Integer.parseInt
( firstNumber );
تقوم هذه الدالة بتحويل القيمة النصية المرره للدالة- firstNumber - إلى قيمة صحيحة . وتسند الدالة إلى متغير من نوع Int.
Double.parseDouble (firstNumber)
تقوم هذه الدالة بتحويل القيمة النصية المرره للدالة- firstNumber - إلى متغير من نوع Double . وتسند الدالة إلى متغير من نوعDouble.
import javax.swing.JOptionPane;
هذه العبارة يتم إضافتها في بداية البرنامج مثل عبارة #include   في لغة الC .
تعمل هذه العبارة على تضمين الكائن المسمى JOptionPane من الحزمة المسماة javax.swing. وهذه الحزمة تحتوي على كثير من الكائنات الخاصة بالرسومات و التعامل مع المستخدم والتي تسهل إدخال و إخراج البيانات من خلال مربعات الحوار.
import javax.swing.*;
هذه العبارة يتم إضافتها في بداية البرنامج مثل عبارة #include   في لغة الC .
تعمل هذه العبارة على تضمين كافة الكائنات الموجودة في الحزمة javax.swing.

JOptionPane.showInputDialog( "---" );
يتم استدعاء الدالة showInputDialog( ) الموجودة في الكلاس JOptionPane والتي تعمل على استقبال مدخلات  من المستخدم على هيئة  String . ولهاوسيط واحد و الذي يمثل عبارة توضيحية تظهر في مربع الحوار.و يتم اسناد القيمة المدخلة من قبل المستخدم  الى متغير من نوع String.
System.exit(0);
تستخدم هذة الدالة لإنهاء التطبيق.
JOptionPane.showMessageDialog
(null,"" ,"" , );
يتم استدعاء الدالة showMessageDialog() من الكلاس المسمى JOptionPaneوهذه الدالة تقوم بإظهار مربع حوار لعرض المخرجات ولها وسيطين أو أربعة :
الأول : دائماً سيكون الكلمة null ، وهو يحدد المكان الذي يظهر فيه صندوق الحوار ،و في هذه الحالة فإن صندوق الحوار سوف يظهر في منتصف الشاشة ،
 الثاني : فهو النص المراد إظهاره.
 الثالث : يمثل النص الذي سوف يظهر في سطر العنوان لمربع الحوار .
الرابع: يمثل الرمز الذي يبين نوع مربع الحوار.
ويوجد مجموعة من الرموز التي يمكن إظهارها في صندوق الحوار لتساعد المستخدم في معرفة نوع صندوق الحوار و الرسالة التي تظهر فية و هذة الرموز في الجدول التالي:









0 comments :

Post a Comment