المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : دورة الجافا : مقدمة و تاريخ اللغة كيفية التثبيت على نظام وندوز Xp


M.Alkahtani
28/1/2006, 06:05
بسم الله الرحمن الرحيم
في الدورة ان شاء الله بنتلعم أمور كثيرة في لغة الجافا .
لماذا أخترت شرح لغة جافا؟
أولاً لأهميتها و ستتضح هذه الأهمية مع المقدمة
ثانياً لعدم وجود مصدر عربي يشرح الجافا
الموقعين الجيدين هما
www.javagirl.ws للعضوه (JavaGirl) التي أتمنى منها المساعده في هذه الدورة و لكن للأسف الموقع لا يعمل!
http://www.geocities.com/alyaa97/jom002.html
و للأسف كلا الموقعين يتفقرون لبعض الأساسيات

تنبيه : الرجاء الرد في صلب الموضوع كسؤال عن دالة أو برنامج أو إجابة لبرنامج الردود الغير مفيدة الرجاء تجنبها
بسم الله نبداء

الجافاhttp://foundationstone.com.au/HtmlSupport/javalogo52x62.gif : هي لغة برمجه أخترعت عام 1995 على يد James Gosling و Henry McGilton(أسكتلندي (himo) ) و فريق عمل مكون من الاف الأشخاص في شركة Sun سميت بالجافا بعد أجتماع James Gosling مع مجموعه من فريق العمل في أحد المقاهي فتوارد الى أذهانهم أسم Java وهي القهوه المشهورة فسميت اللغة بهذا الأسم ولو لاحظت شعار جافا لوجدت أنه يحمل شعار فنجان القهوه.
لماذا تم أختراع لغة جديدة الا تكفي اللغات الموجودة للبرمجه؟
كان الهدف عند أختراع جافا هو لغة قادرة على برمجة نظم لتشغيل جميع الأجهزه من كمبويترات عملاقة (mainframes) الى الأجهزه الصغيرة مثل مشغلات MP3
لماذا الجافا مهمه؟
شركة صن Sun يصفون الجافا كالتالي : لغة بسيطة (Simple) و شيئية (Object-Oriented) وموزعة (Distributed) و مفسرة (Interpreted) و قوية (Robust) و محمية (Secure) و ذات بنيان متعادل (Architecture Neutral) وقابلة للتغيير (Portable) و عالية الأداء (High-Performance) و متعددة الوظائف (Multithreaded) و لغة دينامكية (Dynamic Language)
سنمر بالتفصيل على كل كلمة!
أولاً: لغة بسيطة (Simple)
جافا لغة بسيطة بالفعل فمصممين اللغة حاولوا جعلها لغة يتعلمها المبرمج بسرعة فلو كنت مبرمج لغة C/C++ ستجد أن معظم الأوامر متشابهه مصموا اللغة أزالوا بعض من الخصائص الموجودة في C/C++ عن لغة جافا لجعها صغيرة و بسيطة فعلى سبيل المثال جافا لا تدعم goto و وضعوا بديل لها break و continue يمكن يكون أكبر تبسيط في اللغة هو أنها لا تحتوي على مؤشرات Pointer لأن أغلب الأخطاء في البرمجة بالمؤاشرت فجافا اوتماتيكياً تعامل المؤاشرت بطريقتها الخاصة فتصنف الكائن و تلغي المؤشر الغير موجود.
شيئية (Object-Oriented)
اللغة صممت أساساً على أنه تكون شيئية على هذا الأساس أنت كمبرمج يجب عليك التركيز على البيانات و الطرق(Methods) (ال functions و ال procdure تسمى في جافا methods) في اللغات الشيئية ال class مجموعة من البيانات و الطرق التي تعمل على هذه البيانات، البيانات و الطرق تعرف حالة الكائن (Object)
جافا أتت بمجموعه من ال Classes مرتبة في packages تستطيع أستخدامه في برامجك مثل java.awt مجموعة من ال classes لتكوين النوافذ لبرنامج (graphical user interface)
معظم الأشياء في جافا ممثله ب classes ماعدى ال Character و Boolean و Numeric فال String عبارة عن Class
موزعة (Distributed)
عندما نقول لغة موزعه فمعناها أنها تقدم تدعم للشبكات جيد و مما أذهلني في الجافا قدرتها على تقديم دعم عالي جداً للشبكات فعلى سبيل المثال URL عبارة عن Class هو و مجموعة كلاسات في رزمة java.net تسهل عليك الأمر جداً فقراءة ملف في جهاز آخر في الشبكة كقراءة ملف في جهازك المحلي تكمن قوة جافا في هذه النقطة في (Remote Method Invocation) هو عبارة عن API لتشغيل الطرق من كائن في الشبكة كما لو أنها في جهازك
العمليه نوعاً ما معقدة لكن سنحاول شرحها لاحقاً
مفسرة (Interpreted)
عندما نعمل compile لبرنامج جافا فأنه يعطينا byte-code يقرئه ال Java Virtual Machine لغات البرمجه الأخرى تعطيك Machine code أي Assembly
ببساطة تلاحظ أنه عندما تريد أن تشغل برامج جافا يتطلب أن يكون في جهازك مشغل الجافا JVM طبعاً هذا له فوائد كثيرة بنستعرضها في الفقرة Portable

قوية (Robust)
عندما نطلق على برنامج أنه Robust فهذا معناه أنه لا يفشل عند محاولة تشغيله
لكن عندما تطلق الشيء نفسه على لغة فمعناته أن اللغة تحد من وجود الأخطاء في البرامج بأتخاذ الإجراءت اللازمة لجعل البرمجه بهذه اللغة لا يمكن أن تنتج برامج يحتوي أخطاء
نعم ما زال ممكن أن يكون هناك أخطاء في برامج الجافا و لكنها محدودة جداً فمثلاً عندما قلنا في البداية أن جافا لا تحتوي مؤاشرات فهو للحد من الأخطاء البرمجية.

محمية (Secure)
بلا شك أن جميعنا يعلم أن ال applets مبرمجة بالجافا و تحتاج الى وجود ال JVM لتشتغل في اليوم الواحد تمر بمواقع عدة بعضها يحتوي على applets فمن الممكن أن يكون هذا البرنامج برنامج خبيث ليضر بجهازك عند تصميم الجافا أخذ في الحسبان الحماية و وضع لها عدة طبقات لحماية الجهاز من البرامج الخبيثة و الأكواد الغير صحية فعلى سبيل المثال لا يمكنك أن تقراء من الذاكرة مباشرة.
ذات بنيان متعادل (Architecture Neutral) وقابلة للتغيير (Portable)
أجمل ميزة في الجافا أنها تشتغل على جميع الأجهزه لا تأخذ في الحسبان أي نظام تشغيل ذلك الجهاز يشغل كل ما عليك هو كتابة برنامج و بدون أي تغير في البرنامج بأمكانه العمل على وندوز أو لينكس أو ماكنتوش!!! كيف يتم ذلك
كل هذا بفضل ال Byte-Code و JVM فجافا لا تحول البرنامج الى لغة الالة أنما تحوله الى ما يسمى Byte-Code و لكي يشتغل البرنامج فيجب توفر JVM في الجهاز الذي بدوره يقراء ال Byte-Code و يحوله الى ما يتناسب مع نظام التشغيل. مقولة مشهوره (Write Once, Run Anywhere) أكتب مره واحده وشغل في أي مكان مختصه بالجافا.

عالية الأداء (High-Performance)
إذا جينا نقارن سرعة الجافا مع C بنلاحظ أن جافا أبطىء بعشرين مره تقريباً لأنه تحول الى Byte-Code ثم الى لغة الألة بينما C الى لغة الألة مباشرة. لكن لو قارنا ما تقدمه من أداء بالنسبه الى اللغات الأخرى فنجد أنها في الوسط فمثلاً TCL لغة Portable و جيدة لعمل البرامج التمثيلية Prototyping و لكنها بطيئة جداً ال C سريعه و لكنها تفتقد لل Portability و Reliability (سهولة التغير و الأعتمادية) بالنسبة لجافا فهي في الوسط فهي Portability و Reliability كما أنها ليست ببطء TCL أو UNIX shells

متعددة الوظائف (Multithreaded)
لو كان لديك عدة مهمات تريد عملها في نفس الوقت فأن جافا تتيح لك ذلك من خلال قدرتها على تشغيل أكثر من مهمه في نفس الوقت. كما أنها تتيح لك بكلمة synchronized التحكم بجزيئة من البرنامج بحيث يعمل في وقت محدد.

لغة دينامكية (Dynamic Language)
أي كلاس class في الجافا بأمكانك تحميله للمترجم في أي وقت.

<h1>1-إعداد بيئة العمل</h1>
يجب عليك تحميل نسخة جافا من موقع sun على الرابط التالي : http://192.18.97.120/ECom/EComTicketServlet/BEGIN0CD13D613B1FB938CCAD55D13E164532/-2147483648/1147585131/1/646394/646226/1147585131/2ts+/westCoastFSEND/jdk-1.5.0_05-oth-JPR/jdk-1.5.0_05-oth-JPR:2/jdk-1_5_0_05-windows-i586-p.exe

بعد ذلك أضغط دبل كلك على الملف ليتم التشغيل أختر مكان البرنامج و ليكن C:\jdk1.5 بعد الانتهاء من تنصيب البرنامج يجب عليك تعريف بيئة العمل عن طريق الضغط على جهاز الكمبيوتر (My Computer) بالماوس الأيمن
ثم أختيار خصائص (Properties) ثم أختيار متقدم (Advanced) بعد ذلك أختيار زر متغيرات البيئة (Environment Variables) كما في الشكل 1.1
http://telecom.alhilalclub.com/Lessons/Java/1/image001.png
<p class="MsoNormal" dir="RTL" style="text-align: right; direction: rtl; unicode-bidi: embed"><i>الشكل 1.1 متغيرات البيئة لـ ويندوز XP</i></p>
بعد ذلك أضف المتغيرين
1. path و أعطه القيمة C:\jdk1.5\bin
2. classpath و أعطه القيمة . (نقطة) كما في الشكل 1.2
http://telecom.alhilalclub.com/Lessons/Java/1/image003.png
<p class="MsoNormal" dir="RTL" style="text-align: right; direction: rtl; unicode-bidi: embed"><i>الشكل 1.2 إضافة متغيرات البيئة لـ ويندوزXP</i></p>

بعد الانتهاء من إعداد بيئة العمل ستجد في مجلد My Documents مجلد My Java files لتضع به ملفات الجافا الخاصة بك و البرامج التي تتطبقها عملياً في هذه الدروس.

<h1>1.1***** تشغيل البرنامج الأول</h1>
أفتح المذكرة أو أي برنامج تحرير نصوص و أطبع البرنامج التالي:
http://telecom.alhilalclub.com/Lessons/Java/1/image006.gif
أحفظ الملف بالاسم HelloWorld.java في مجلد My Java files
ملاحظة: الحروف الكبيرة و الصغيرة حساسة في جافا الملف يأخذ نفس أسم ال Class
أفتح موجه الأوامر MS DOS أطبع التالي :
CD My Java files
Javac HelloWorld.java
Java HelloWorld
ملاحظة : جملة Javacلعمل compile للملف و جملة java لتشغيل الملف
الشكل 1.3 يوضح العملية السابقة
http://telecom.alhilalclub.com/Lessons/Java/1/image007.png
<p class="MsoNormal" dir="RTL" style="text-align: right; direction: rtl; unicode-bidi: embed"><i>الشكل 1.3 طريقة تشغيل ملف جافا</i></p>
كما هو متوقع ناتج البرنامج طباعة الجملة World Hello سنرجع بالتفصيل لشرح هذا المثال الآن كل ما عليك معرفته هو أن بيئة التشغيل سليمة و لا يوجد أي أخطاء.

سلا1م
28/1/2006, 15:48
يعطيك العافيه ..............

mgnon jabry
28/1/2006, 23:45
واااااااوك هاذي يبيلة يامكسا
بس لي عودة بعد ما أفهم وتولم للأسئلة

والله يعااافيك

تحياااااتي

ذيب آسيا
29/1/2006, 01:15
الله يعطيك ألف عافية أخوي mksa
حقيقة جهد رائع وتشكر عليه :magkiss:


وليتك بدرت بالموضوع لبداية السمستر اللي راح عشان أغثك بالأسئلة :angel: ..لكن مب مشكلة مافات الا الشر ... عندي الـ 201 السمستر الجاي <<< ناشب ناشب :d:

عندي بعض التعليقات على الدرس الأول اذا سمحت لي :) :

* بالنسبة لعملية الـ compiling ودي أعرف وش الفرق بين استخدام الام اس دوس .. والبرامج الثانية؟!
لأني تعودت أستخدم برنامج اسمه Jcreator
وعند وجود أخطاء في الكود كيف أتعامل معه عن طريق الدوس؟


ومحضر بعض الأسئلة ... بس انتظرك تتقدم بالشرح شوي (himo)


مشكوووور وعساك على القوة :noo:

Hard
29/1/2006, 11:22
الله يعطيك العافيه mksa

وعندي سؤال بالنسبة للجافا

اذا عندي برنامج مكتوب بلغه جافا وابغي واجهات (interface) لهذا البرنامج بلغه غير الجافا ,,

السؤال اقدر اربط جافا باللغه اللي مصصم عليها الواجهات ويكون برنامج واحد
ولا لازم الواجهات تكون بنفس اللغه جافا

محمد الهلالي
29/1/2006, 14:28
الله يعطيك العافيه مكسا موضوع بالفعل مهم

وانا ما احب الجافا :angel:

تسلم والله :noo:

عاشق العثرات
29/1/2006, 16:29
موضوع جبار وثري بالمعلومات الهامه ،
الف مليون شكر وبوسه :magkiss: ..

على فكره حملت البرنامج وجيت اطبقه على جهاز المقهى وقال لازم موافقة الأدمن :angel: ..

بحاول اجيب جهاز من هنا والا من هناك واطبق ،

الف شكر ثاني مره .. :)

M.Alkahtani
4/2/2006, 09:09
الغالي عاشق العثرات الله يعافيك يالغالي و هذا أقل واجب نقدمه لأعضاء هالشبكة الجباره و أن شاء الله راح تشوفون كل جديد فيها على المستوى العربي فستكون هي السباقة بشرح برمجة النظم و البرامج التي لم يتم طرحها عربياً أبداً في سلسلات قادمه بأذن الله بس حلوه لازم أدمن أكيد لازم تكون أدمن:):)

الغالي محمد الهلالي مهوب لازم تحب الجافا عشان تكون مبرمج جافا بس اللغة متميزة

حبيب قلبي هلالي اليمن الواجهات لازم تكون بنفس اللغة جافا لأن ال compiler ما يفهم واجهات ثانية من لغة ثانية مثلاً واجهات Visual Basic لكن في لغة شيقة و سأقوم بشرحها بعد الإنتهاء من جافا و لأول مره تشرح عربياً تتيح لك لغات برمجه داخل لغة برمجه وحيده :jhgy: :jhgy:

الغالي ذيب آسيا زين الي عندك جافا ربطناك مع حلق مساعدني في البرامج غصب عنك :d: :d:
بالنسبه لل compile كل هم واحد Jcreator أو الدوس بس هذا البرنامج يقوم بالأوامر بدال ما تكتب javac ثم java البرنامج Jcreator يسويها من حاله و ذكرتني الدرس الجاي بشرح طريقة تنصيبه لأني أستخدمه كمحرر.

الغالي mgnon jabry الله يحيك و أسئلتك

الغالي سلام15100 الله يعافيك يارب

ذيب آسيا
4/2/2006, 16:56
[COLOR=Red]الغالي ذيب آسيا زين الي عندك جافا ربطناك مع حلق مساعدني في البرامج غصب عنك :d: :d:
بالنسبه لل compile كل هم واحد Jcreator أو الدوس بس هذا البرنامج يقوم بالأوامر بدال ما تكتب javac ثم java البرنامج Jcreator يسويها من حاله و ذكرتني الدرس الجاي بشرح طريقة تنصيبه لأني أستخدمه كمحرر.




تامر أمر والله ... وأبساعدك باللي أقدر عليه ان شاءالله :)
ويامال العافية على جهودك الرائعة :magkiss:

Hard
4/2/2006, 17:43
حبيب قلبي هلالي اليمن الواجهات لازم تكون بنفس اللغة جافا لأن ال compiler ما يفهم واجهات ثانية من لغة ثانية مثلاً واجهات Visual Basic لكن في لغة شيقة و سأقوم بشرحها بعد الإنتهاء من جافا و لأول مره تشرح عربياً تتيح لك لغات برمجه داخل لغة برمجه وحيده :jhgy: :jhgy


لاتقولي لغة #C ترى عندي ذكريات سيئة مع هاللغه :nrey: :nrey:


ومشكور حبيبي عالاجابة بانتظار اللغه الجديدة اذاماكانت #C :d: