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

مشاهدة النسخة كاملة : لغة الـ Java


الجميلة
15-09-2009, 12:05 AM
مقدمة

الحاسب الآلي عبارة عن مجموعة مترابطة من الدوائر الكهربائية. تخيّلوا معي زر كهربائي يشغّل

عدداً من المصابيح التي إمّا تكون مطفأة أو مشتعلة. لذا، لإإن الكومبيوتر يفهم رقمين في الدنيا،

هما (صفر) و (واحد). و يقوم الكومبيوتر بتحويل كل شيء إلى ما يقابله حسب نظام العد

الثنائي (يعني 1 و 0) و تسمّى هذه اللغة (التي تتكون من هذين الرقمين فقط) بلغة الآلة

(Machine Code).

و كان للسيطرة على الكومبيوتر نكتب ما نطلق عليه اسم (برنامج) و هو يحتوي على عدد من

الأوامر الموجهة للكومبيوتر ليحل مسألة معينة.

كان المبرمجون الأوائل (كان الله في عونهم) يكتبون البرامج بهذه اللغة! يكون شكل البرنامج

هكذا:

101011101000101001010010
100101001010001001011010
010011110011100001010101
010101000100100000001001
011110111010010101010101

و كما ترون فإنه من الصعب جدّاً فهم شيئاً كالذي ترونه في الأعلى بعقلنا البشري. لذا فقد

كان من الصعب أيضاً ايجاد الأخطاء و تصحيحها. ولكن تلك التي تعمل، فأنها تعمل بسرعة

شديدة جدّاً نظراً لأنها مكتوبة بلغة تفهمها الآلة بصورة مباشرة. و تسمّى البرامج

المكتوبة بلغة الآلة ببرامج الجيل الأول.


لم يستطع أجدادنا المبرمجون الاستمرار على هذا الحال، فقد كان فعلاً صعباً، لذت قاموا

باختراع لغة التجميع (Assembly) و هي لغة أبسط من لغة الآلة نظراً لاحتوائها على

أوامر مثل (ADD و MOV)، و هكذا كما ترون فقد ابتعدنا قليلاً عن لغة الآلة التي سبق و

ركّزت على أنها لا تفهم سوىالصفر والواحد. و هنا ظهرت الحاجة الماسّة إلى المفسّر

(Interpreter) و هو برنامج يقوم بتحويل الأوامر بالتتابع من لغة ال Assembly إلى

لغة الآلة، و يوقف البرنامج فوراً في حالة مواجهة خطأ في البرنامج و لا يقوم يالنظر

(حتى لجبر الخاطر) إلى بقية البرنامج :-)

نلاحظ هنا أننا حصلنا على برنامج تسهل كتابته نسبياً و يمكن بسهولة ايجاد الأخطاء فيه

و تصحيحها( بدلاً من البحلقة في الأصفار والآحادهاهاها).

لكن.. التحويل من لغة التجميع إلى لغة الآلة، يأخذ جزء من وقت البرنامج، و هكذا أصبح

البرنامج أبطأ قليلاً، و حين أقول قليلاً، فأنا أعني جزء من آلاف الأجزاء من الثانية الواحدة. و

تعتبر لغة التجميع من الجيل الثاني (الذي يحتوي على هذه اللغة فقط)

المبرمجون لم يعجبهم الحال (كما لم يعجبني حين درست هذه اللغة اهاهاهها) لذا أرادوا لغات

تكون قريبة من لغة الإنسان، يفهمها بسهولة و ليست معقّدة مثل لغة التجميع. لذا قاموا

بوضع العديد من لغات البرمجة التي تقوم على أوامر مباشرة بلغتنا البشرية التي نفهمها

بسهولة، ففي لغة الباسكال مثلاً إذا أردنا طباعة كلمة (mama) على الشاشة نكتب الأمر

التالي ضمن البرنامج:

writeln("mama");

و هذا كفيل بطباعة الكلمة على الشاشة :-)

و لكننا هنا ابتعدنا عن لغة الآلة كثيراً، لذا توجّب علينا استخدام المترجم بدلاً من المفسّر،

لتحويل البرنامج إلى لغة الآلة.

و هذه اللغات هي لغات الجيل الثالث و منها: Pascal, COBOL, ForTran, Basic و

منها أيضاً لغة ال C و التي تعتبر أسرع لغات الجيل الثالث على الإطلاق، بل انها في كثير من

الأحيان تتصرّف كما لو كنت من الجيل الثاني (حيث يقوم بعض المصنّفون تصنيفها ضمن الجيل

الثاني لهذا السبب).


إلى هنا و الكلام عند المبرمجين سهل و بسيط، تسألهم ما هو البرنامج فيجيبون فوراً:

مجموعة من الأوامر لتأدية وظيفة معيّنة.


مُدخلات ----تحصل عليها-------> عمليات ----- تنتج منها -------> مُخرجات

و لكن.. نعم لازالت هناك "لكن"! الإنسان بطبعه لا يفكّر في العمليات التي تحدث دون أن يفكّر

في المعلومات أو الأشياء التي حدثت عليها أو صدرت منها هذه الأفعال. لا يمكن أن تكون الجملة

الفعلية صحيحة دون فاعل أو مفعول.

إذاً ما زالت طريقة البرمجة بطريقة سلسلة العمليات المتلاحقة بعيدة عنّا و عن تفكيرنا.

لقد كنّا خلال ما سبق من الأجيال نفكّر مثل الكومبيوتر. نكتب البرامج بناء على الطريقة التي

يفهمها هو، و هذا من الصعوبة بمكان!

لذا قام المبرمجون بايجاد الحل المناسب و هو الجيل الرابع من لغات البرمجة.

الجميلة
15-09-2009, 12:08 AM
إعداد بيئة التشغيل


قبل أن نبدا فعلياً في كتابة برنامج جافا يجب تجهيز بيئة العمل :-)

المطلوب منكم الذهاب إلى هذا الموقع:

أولاً:
^^^^
[Only Registered Users Can See Links]


في هذه الصفحة و من القائمة يرجى اختيار Java 2 SDK, Standered Edition, v 1.3

لأننا سنعمل ان شاء الله على هذا الإصدار من الجافا.

الملف يبلغ حجمه كبير نسبياً، فإذا كانت الإنترنت عندك كثيرة الانقطاع يستحسن أن تقوموا بتنزيل البرنامج على مراحل كما هو موضّح إذا تتبعت الإرشادات في موقع التنزيل :-)


ثانياً:
^^^^^^
بعد تنزيل البرنامج يجب أن يتم تحميله.

هذا الملف سيخلق حسب الDefault أن الآلة التخيّلة قد أخذت موضعها في:

c:jdk1.3




و يمكنك التأكّد من المكان المضبوط بعرض محتويات القرص الصلب.

ثالثاً:
^^^^^^

يجب كتابة هذين الأمرين في الدوس كلّما أردت تشغيل أو ترجمة برنامج جافا.

لذا أنصح بكتابتها في ملف ال Autoexec.bat في الوندوزxx أو في ال

system parameters في الوندوز NT و 2000

هذين السطرين مهمّين للغايةو المفروض أن يتم كتابة السطرين كما هما في الدوس و بدون أي

فراغات spaces. و لا تنسوا أن تضعوا (;.) في بداية تعريف ال classpath هكذا:


[Only Registered Users Can See Links]


الآن البيئة صارت للتشغيل. و للتأكّد من ذلك:

اذهب إلى الدوس و اكتب الأمر التالي:

java -version


المفروض ان كان التثبيت و ما تلاه تم بطريقة صحيحة أن تظهر هذه النتيجة:


[Only Registered Users Can See Links]


ابعاً:
^^^^^^
هذه الخطوة ليست اجبارية. و لكنها لتسهيل التعليم. فعادة يستخدم مبرمجو الجافا ال

Notepad الموجودة في نظام الوندوز. و لكن توجد بعض المحررات الخاصة بالمبرمجين

والتي تقوم بتلوين أوامر اللغات المختلفة.

من المحررات الشهيرة TextPad الذي يمكن تنزيله من موقع:

[Only Registered Users Can See Links]

و من مميزات هذا المحرر أنه يحتوي على قائمة قابلة للتعديل، يمكن من خلالها تشغيل المترجم

و المشغّل دون الحاجة للذهاب إلى محرّك الدوس.

بهذا نكون قد استكملنا مكوّنات بيئة التشغيل التي سنحتاج لها للبدء بكتابة برامج الجافا

الخطيرة

الجميلة
15-09-2009, 12:23 AM
س1: ماهي بدايات لغة الجافا ؟؟

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

وسي اما الان فهي مكتوبة من اولها الى اخرها بلغة الجافا.

طبعا اهم ما يميز الجافا انها لا تعتمد على(platform ) معين لانها تعمل على آلة الجافا

الافتراضية JVM لذلك هي مستقلة عن طبيعة platform وهذا هو السبب الرئيسي لإنتشارها

الواسع جدا.

س2:هل الجافا هي الجافا سكريبت ؟
لا
يخلط كثير من المبتدئين بين هاتين اللغتين ولكن دعوني اوضح ماهي الجافا سكريبت في البداية التي

هي من انتاج شركة نتسكيب وكانت في البداية تسمىlive code و اخذت تسمية الجافا سكريبت

لسبب تجاري فقط لان الجافا كانت في اشد انتشارها.

الجافا سكريبت هي لغة بسيطة جدا مقارنة بالجافا فهي لغة Client Side أي انه يتم

تنفيذها على متصفح الويب فالكود يرسل من السيرفر بدون معالجة ,حيث انه يعالج على

جهاز الزبون ( client).

س3: ماهي الجافا ؟

توجد ثلاث نسخ للجافا وهي :

J2EE و J2SE و J2ME .لن ندخل في تفاصيلها ولكن سوف اتكلم على J2EE لانها

هي الي عليها الكلام اما J2ME فهي تخص ال (wireless devices) بشكل عام يعني

على اجهزة الجوال وغيرها .

س4:ماهي J2EE ؟

هي إختصار ل Java 2 Enterprise Edition وهي تزودنا بالتطبيقات الكبيرة على

مستوى الشركات الكبيرة وهي تحتوي على تقنيات كثيرة ( حول 12 تقنية ) أنظر الصورة الي

اسفل سوف توضح لك أكثر.

[Only Registered Users Can See Links]


س5:ماهي مترجمات ( IDE OR Compilers ) للجافا ؟

يوجد هناك العديد منها ولكنني شخصيا أفضل Jbuilder من شركة بورلاند المرموقة والان

يوجد النسخة التاسعة منة فهو افضل ماجربت في الحقيقة, ولكنه يحتاج الى ذاكرة رام كبيرة

لكي يعمل بصورة جيدة (طبعا عيبة البطء لانة مكتوب كامل بلغة الجافا والجافا عيبها انها

بطيئة نوعاً ما ولكن مع تطور الاجهزة ربما يندثر هذا العيب).


طبعا هناك ايضا forte من صن وغيرها كثير.

س6:ماهو مدى انتشار الجافا خصوصا في الوطن العربي ؟

جواب:
في الحقيقة الجافا منتشرة في الدول المتقدمة بصورة كبيرة جدا وخصوصا في ( امريكا

وبريطانيا ) ولكن مع الاسف فهي عالمنا العربي قليلة الانتشار وان كانت الجامعات أدخلتها ولكن

منذ مدة بسيطة نسبياً.


س7:ماذا عن دعم الشركات العملاقة للجافا ؟

في الحقيقة أن ميكروسفت تحارب الجافا وهذة حقيقة مع الاسف فيمكن تلاحظون

كثيرا ان الي مركبين ويندوز اكس بي يعانون من مشكلة عدم توفر JVM على الويندوز الذي كان

في نسخة السابقة توجد فيه.

طبعا صن رفعت قضية على مايكروسفت وفازت بها في المحاكم الامريكية ووعدت مايكروسفت

انها في النسخ القادمة سوف توفرها في الويندوز لكي لايضطر المستخدمين الى تحميلها من

الانترنت.

ولكن هناك شركات عملاقة تدعم الجافا بكل تفاني مثلا عندك الاوراكل وكلكم يعلم ان Form 9i

مبني على تقنية الجافا ابليت وايضا اي بي ام ( أم الشركات) ومايكروميديا وغيرها كثير.

س8:ماذا عن تقنيات الويب في الجافا ؟


في الحقيقة تكمن قوة الجافا الحقيقة في الشبكات بشكل عام وتراسل البيانات التي مع الاسف

لاارى له حضور حتى على مستوى الجامعات اللهم القليل فقط.


الجافا تقدم عدد من التقنيات اهمها(طبعا في مجال الويب) :

JSP

APPLET

SERVLET

EJB

JAVABEAN

طبعا ابليت كما هو معروف هو كلاينت سايد فهو يرسل الكود من السيرفر ويعالج لدى الكلاينت

اما البقية فهم سيرفر سايد حيث تتم معالجة الكود في السيرفر وترسل النتائج الى العميل.


س9: ماهي ال JSP ؟

هي لغة تمكنك من بناء صفحات انترنت ديناميكية وهي تشبة asp حقت مايكروسفت في المفهوم فقط .
طبعا JSP لغة بسيطة جدا تمكنك من دمج رموز ال HTML مع رموز JSP بحيث يمكنك

من دمج كود جافا .

س10: ماهو Servlet ؟

جواب:
باختصار ال جي اس بي هي امتداد لل سيرفلت يعني فقط تسهيلا لكتابة JSP وضعوا ال جي اس

بي بالطبع هناك بعض الفروقات التي لا مجال لذكرها هنا ولكن افضل شي هو تكاملهما مع

بعض .

س11: ماهو javaBeans ؟
جواب:
هي كلاسات جافا لها بعض الشروط البسيطة تخدم مع الويب وفائتها الاساسية تقليل كتابة

الكود بحيث يمكن استخدامها في اكثر من صفحة.

EJP هي بالمناسبة مكونات تكون موزعة بحيث تستطيع الشركة من خلالها تكامل الانظمة

والتحكم في مستوى الامن والانسيابية.

س12:ماهي سيرفرات الجافا على الويب؟
جواب:
اهمها و الكبار منها ( غير مجانية)
1- IBM WbSphere وهو بالطبع بيئة إحترافية بحد ذاتها وغنية بالمزايا والان

يوجد النسخة
5.1
2- Oracle9iAs وهو من اسرع السيرفرات وهو من تطوير اوراكل .

3- Bea WebLogic وهو من السيرفرات المرموقة وحاليا توجد النسخة 8.1 أخرى

(مجانية)

1-Tomcat وهو مجاني ومفتوح المصدر من شركة اباتشي المعروفة وهو المفضل لدى

الكثيرين و النسخة الحالية هي


5.1
وغيرهم كثير .

س13:ماهي الصعوبات الي تواجة مطوري الجافا في العالم العربي ؟
جواب:

في الحقيقة دعوني أجيب على هذا السؤال من خلال تجربتي الشخصية:

كنت قد نويت أن أعمل مشروع عبارة عن شركة للسيارات من خلال الانترنت وكنت حينها لا أعلم عن

الويب شي (فقط القليل من asp) قررت أن أستخدم الجافا وخصوصا ان خبرتي في الجافا

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

أريدها لتعلم لغة JSP في حين ان رفوف الكتبة مليئة بكتب ASP.NET . دبرهتا بطريقة

خاصة ومن بعض المواقع على النت الحمدلله استطعت اني انهي مشروعي ولكن السلبيات التي مريت

بهاالامور :

1-حصولي على الكتب في منتهى الصعوبة .

2- مشاريع كبيرة تمت كتابتها بتقنيات مايكروسفت, حصلوا على دعم كبير بحيث ان الشركة

توفر لهم الكتب المطلوبة والنصائح من المختصين لدى الشركة وهذا لم احصل علية لانني كتبت

مشروعي بالجافا.

3-عدم انتشار اللغة بصورة كبيرة بحيث كل زملائي الذين اعرفهم كتبوا بلغات دوت نت لذلك لم

استطع الاستفادة منهم.

4-عندما حاولت إستضافة موقعي مع الاسف لم أجد المناسب وذلك لقلة شركات استضافة الجافا(العربية).

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

قليلة الانتشار في الوطن العربي , مع انني سعيد جدا لكتابة مشروعي بها فهي لغة رائعة حقا وقوية جدا.

س14: هل اتعلم الجافا او .NET ؟جواب:

إجابة هذا السؤال تعتمد عليك أنت فإذا كنت تحب البرمجة وتعشق التحدي والمغامرة والجافا

تناسب إحتياجك فعليك بها( لاتريد أن تعتمد على platform معين ).

إما إذا كنت خلاف ذلك فمن رأيي أن تتوجة الى الدوت نت فهي توفر لك كامل الدعم وهي بكل

تاكيد أسهل من الجافا لانني كما ذكرت هناك الكثير من الكتب والكثير من الدعم والكثير من المحررات

العملاقة و.. يكفي أنها من مايكروسفت.

وعموما الخلاصة ماذا تريده أنت من اللغة هو الذي يحدد إختيارك لها!

س15:أريد أن أتعلم الجافا ولكن لا أردري أي الكتب أفضل ؟؟

بالنسبة للمبتدئين والمتوسطين أنصحهم بكتاب Java How To Program من شركة

Deitel™ فهو بحق كتاب رائع جدا ومناسب وسهل الاسلوب جدا (طبعا الكتب باللغة

الانجليزية).متوفر في جرير الان(الطبعة الخامسة).

بالنسبة لل Java database فهناك كتاب لم أرى قط مثلة حتى الان وهو كتاب رائع جدا

جدا ولكن لازم تكون عندك خبرة بالجافا قبل ماتقراه وهو

Java Database Programming من Bible ورقم ال ISBN هو 0-7645-4924-3.


بالنسبة للويب :

Web Development with Java Server Pages الطبعة الثانية

Core Servlets & Java Server Pages من كتب شركة صن وهو كتاب رائع.

س16:هل الجافا صعبة ؟؟


هذا سؤال في الحقيقة أيضا يعتمد عليك فأصعب مافي الجافا بدايتها فقط ,فأذا تجاوزت البداية

وأحببت اللغة فيكون الباقي سهل باذن الله.

17: ودي اتعلم جافا بس وين المواقع الجيدة ؟؟؟

جواب:


المواقع الي سوف أذكرها كلها باللغة الانجليزية.

[Only Registered Users Can See Links] هذا هو أهم المواقع فهذا هو الموقع الرسمي للغة الجافا وفية

الكثير والكثير من الدروس وأنصحك بالمنتديات( Forums ) ستجد فيها ثروة بما تعنيه

هذة الكلمة.

[Only Registered Users Can See Links] هذا مجلة عالم الجافا المشهورة وفي ارشيف هذة المجلة العديد من

الدوس والمقالات المميزة وهي تعنى بآخر أخبار مايستجد للجافا من أخبار ومنتجات جديدة.

يمكنك البحث في (Google ) أكتب كلمة جافا وستجد الكثير من المواقع



م.ن

wahat
15-09-2009, 12:40 AM
تعريفي يا جميلة

هل درس مهم للطلبة

ودراسة هدة اللغة صعبة عليهم جدا

ويعتبرونها من اصعب المواد

وما يطلع منها الا طويل الروح

يا ريت تستمري في سرد باقي المعلومات كي تعم الفائدة الجميع

الجميلة
15-09-2009, 12:43 AM
ان شاء الله واحات


وكان عندك شي يتعلق بها المادة ياليت


ان اظيفه

اخلاص
15-09-2009, 11:16 AM
بارك الله فيك عالمعلومات

وانشالله يستفيدو منها الطلبة

انا الجافا ما نعرف فيها

حاجة الا ان جماعة ال It

ديما يعيطو منها شكلها صعبة

طيف
16-09-2009, 05:43 AM
ربي يفتح عليك يا جميلة
ما نفهمش فيه بكّل
لكن شكلك تاعبه عليه
خلاص
أنا حنسيّب اخلاص الفترة هذي ونتبعك انت
:)
لكن بنعرف
اخلاص شن جابك هنا ؟؟؟
عدي لقسمك هيا
:D

الجميلة
16-09-2009, 07:29 PM
ههههههههههههههههههههههههههههههه



والله يا اخلاص حتي نا دارسه it شوي