0% found this document useful (0 votes)
37 views14 pages

الفصل 1

تتناول الوثيقة لغة البرمجة جافا، بدءًا من تعريفها وتاريخها، وصولًا إلى مميزاتها ومتطلبات البرمجة بها. تشمل المحتويات أيضًا أمثلة على لغات البرمجة الأخرى، بالإضافة إلى أدوات تطوير جافا وخصائصها الفريدة. تعتبر جافا لغة سهلة التعلم وتناسب تطبيقات الإنترنت وتعمل على منصات متعددة.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views14 pages

الفصل 1

تتناول الوثيقة لغة البرمجة جافا، بدءًا من تعريفها وتاريخها، وصولًا إلى مميزاتها ومتطلبات البرمجة بها. تشمل المحتويات أيضًا أمثلة على لغات البرمجة الأخرى، بالإضافة إلى أدوات تطوير جافا وخصائصها الفريدة. تعتبر جافا لغة سهلة التعلم وتناسب تطبيقات الإنترنت وتعمل على منصات متعددة.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

‫وزارة التربية و التعليم‬

‫ثانوية‪17‬‬

‫اللغات البرمجية للكائنات‬


‫"الجافا"‬

‫‪--‬‬

‫اثير العنزي‬
‫مريم محمد‬
‫ردينة يوسف‬
‫نوره اليامي‬
‫غدير العتيبي‬
‫ساره العتيبي‬
‫الجوهرة العجمي‬
‫سلطانة العتيبي‬

‫‪--‬‬
‫أ‪ /‬طيف‬
‫الصف‪ /‬اولى‪-‬ثاني‬
‫لمادة‪ /‬الحاسب‬

‫‪28/4/1436‬هـ‬
‫الفهرس‬
‫عمل الطالبة‬ ‫رقم الصفحة‬ ‫المحتويات‬

‫غدير مشعل العتيبي‬ ‫‪1‬‬ ‫ماهي لغة الجافا؟‬

‫مريم محمد الحسين‬ ‫‪2‬‬ ‫امثله للغات البرمجة‬

‫مريم محمد الحسين‬ ‫‪2‬‬ ‫ما متطلبات البرمجة‬

‫مريم محمد الحسين‬ ‫‪2‬‬ ‫ما الذي يحتاج لكتابة‬


‫برنامج بلغة الجافا‬

‫ردينة يوسف الحالق‬ ‫‪3‬‬ ‫مميزات الجافا‬

‫سلطانة بويتل العتيبي‬ ‫‪4‬‬ ‫تعليم لغة الجافا‬

‫سلطانة بويتل العتيبي‬ ‫‪4‬‬ ‫بيانات تطوير اللغة‬

‫اثير خالد العنزي‬ ‫‪5‬‬ ‫لمحة من تاريخها‬

‫ساره نويشي العتيبي‬ ‫‪6‬‬ ‫اصدارات لغة جافا‬

‫نوره حمد اليايمي‬ ‫‪7‬‬ ‫الفرق بين برمجة‬


‫إجرائية وغرضية‬
‫التوجه‬

‫الجوهرة العجمي‬ ‫‪8‬‬ ‫التركيب اللغوي للغة‬


‫الجافا(‪)SYNTAX‬‬

‫الجوهرة العجمي‬ ‫‪10‬‬ ‫ادوات اساسية‬


‫للبرمجة بلغة الجافا‬
‫ماهي لغة الجافا؟‬

‫جافا )باإلنجليزية‪ )Java :‬هي عبارة عن لغة برمجة ابتكرها جيمس‬


‫جوسلينج في عام ‪ 1992‬م أثناء عمله في مختبرات شركة صن‬
‫ميكروسيستمز‪ ،‬وذلك الستخدامها بمثابة العقل المفكر المستخدم‬
‫لتشغيل األجهزة التطبيقية الذكية مثل التيلفزيون التفاعلي‪ ،‬وقد كانت‬
‫لغة الجافا تطويًر ا للغة السي بالس بالس (‪ ،)C++‬وعند والدتها أطلق‬
‫عليها مبتكرها "أواك" بمعنى شجرة السنديان؛ وهي الشجرة التي كان‬
‫يراها من نافذة مكتبه وهو يعمل في مختبرات صن ميكروسيستمز‪ ،‬ثم‬
‫تغير االسم إلى جافا‪ ،‬وهذا االسم (على غير العادة في تسمية لغات‬
‫البرمجة) ليس الحروف األولى من كلمات جملة معينة أو تعبيرا بمعنى‬
‫معين‪ ،‬ولكنه مجرد اسم وضعه مطّوروا هذه اللغة لينافس األسماء‬
‫األخرى‪ ،‬وهى احدى لغات البرمجة‪ ،‬أي مجموعة من األوامر والتعليمات‬
‫التي تعطى للحاسب في صورة برنامج مكتوب بلغة برمجة معينة‬
‫بواسطة معالج نصوص‪ ،‬ويتكون مصدر البرنامج من عدة سطور وكل‬
‫سطر يعتبر جملة‪ ،‬ويتعامل الحاسب مع كل جملة بترتيب معين إلنجاز‬
‫األمر الذي صمم البرنامج لتحقيقه‪.‬‬

‫أمثلة للغات البرمجة‬

‫توجد لغات برمجة عديدة‪ :‬إال أنه يوجد فيها نوع من التخصص‪ ،‬حيث‬
‫يعتمد اختيار اللغة على المهام التي نريد من الحاسب إنجازها‪ ،‬حيث أن‬
‫لكل لغة ما يناسبها‪ ،‬وهناك مهام يصعب تنفيذها بلغة معينة ولكنها تكون‬
‫ميسورة بلغة أخرى‪ ،‬ومن اللغات التي ظهرت في فترة الستينات لغة‬
‫البيسك (‪ )Basic‬وهي لغات تدرس للمبتدئين‪Beginners All Symbolic ،‬‬
‫‪.Instruction Code‬وظهرت بعدها لغة "فيجوال بيسك" (‪)Visual Basic‬‬
‫(التي وضعتها مايكروسوفت) وهي غنية عن التعريف ولها مميزات‬
‫عديدة‪ ،‬حيث تجمع بين سهولة لغة البيسك وتصميم برامج ذات واجهة‬
‫رسومية‪ ،‬وأيًض ا فيجوال بيسك سكريبت التي تقدم برمجيات تعمل‬
‫ضمن صفحات اإلنترنت‪ ،‬وأيًض ا لغة السي بالس بالس ذائعة الصيت‪،‬‬
‫وهي لغة برمجة تم ابتكارها كتطوير للغة السي التي هي األخرى‬
‫تحسين للغة البي وهناك العشرات من لغات البرمجة األخرى‪.‬‬
‫ما متطلبات البرمجة؟‬

‫‪ Interpreter‬مفسر‪ :‬تتطلب بعض لغات البرمجة مفسرا يقوم بتفسير‬


‫كل سطر من البرنامج ويبلغ الحاسب بالمهام التي يتعين عليه القيام بها‬
‫ومن هذه اللغات لغة البيسك وتتميز اللغات التي تحتاج مفسرا بسهولة‬
‫اختبارها ولكن يعيبها أنها تكون بطيئة عند تشغيلها‪ Compiler.‬مترجم‪:‬‬
‫يتطلب البعض اآلخر من لغات البرمجة مترجًم ا يقوم بترجمة البرنامج‬
‫وتحويله إلى شكل يفهمه الحاسب‪ ،‬وتتميز البرامج المترجمة بسرعة‬
‫تشغيلها ولكن يعيبها الحاجة إلى وقت أطول الختبارها‪ ،‬حيث يكتب‬
‫البرنامج ثم يترجم ثم يجرب وفي حالة وجود أخطاء يجب تصحيحها أواًل‬
‫ثم يعاد ترجمته ومن ثم تجريبه للتحقق من زوال الخطأ‪ ,‬ولغة جافا لغة‬
‫فريدة تتطلب مترجًما ومفسًر ا‪.‬‬
‫ما الذي ُيحتاج إليه لكتابة برنامج بلغة جافا؟‬
‫ُعدة تطوير الجافا ( ()‪: Java Developers Kit(JDK‬تعتبر هذه األداة األولى‬
‫التي وضعها مطورو جافا بشركة صن ميكرو يستمز‪ ،‬ورغم وجود أدوات‬
‫برمجة أخرى من عدة شركات منافسة؛ إال أنه من األفضل أن نأخذ‬
‫األمر ممن طوره وهذه األداة قد صدرت في عدة إصدارات ويمكن‬
‫تحميل هذه األدوات من موقع صن ميكروسيستمز‪.‬محّر ر نصوص لكتابة‬
‫المصدر ‪ :‬كــبرنامج المفّكرة(‪ )NotePad‬واألفضل برنامج ‪ ++NotePad‬أو‬
‫واحدة من بيئات التطوير‪ .‬يفّضل األغلبّية بيئات التطوير الحّر ة باألخّص‬
‫‪ eclipse‬و ‪.NetBeans‬‬

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

‫لغة الجافا تتميز بخصائص عديدة ال تتميز بها العديد من لغات البرمجة‪،‬‬
‫ومن بين هذه الخصائص أنها ‪:‬‬
‫سهلة وسلسة ‪ :‬أحد أهم خصائص الجافا أنها لغة بسيطة! ومعنى هنا‬
‫بسيطة ليس في تعلمها‪ ،‬ولكنها تسهل على المبرمج الكثير من األعمال‪،‬‬
‫فهي مثًال تحتوي على إدارة تخزين البيانات بشكل أوتوماتيكي‪ ،‬كما أنها‬
‫عكس لغة السي بلس بلس مثًال ال تحتوي على الوراثة المتعددة‪.‬‬
‫امنة ‪ :‬الخاصية الثانية والتي أراها أيضًا مهمة هي األمان‪ ،‬فلغة البرمجة‬
‫جافا يتم تشغيلها على األلة االفتراضية وبذلك فهي تعيش في بيئتها‪،‬‬
‫فحص حدود المصفوفات‬
‫كما أنها تحتوي على إدارة لألمان والتي تمكن من تحديد المكتبة المعينة‬
‫الواجب استعمالها من الكالس‪.‬‬
‫قوية ‪ :‬فبواسطة لغة البرمجة جافا يمكن برمجة برامج جد قوية‪ ،‬ربما‬
‫ألن فلسفة هذه اللغة تحد من البرامج الغير موثوقة‪.‬‬
‫ليست مربوطة بمنصة معينة ‪ :‬االرتباط بمنصة معينة معناه قدرة‬
‫برنامج معين على اإلشغال على أكتر من منصة أو نظام تشغيل‪ .‬ولغة‬
‫البرمجة جافا هي من اللغات التي تتحقق فيها هذه الخاصية‪ .‬فيمكنك‬
‫مثًال االشتغال ببرامجها على لينوكس والويندوز والماك بدون أي‬
‫مشاكل‪.‬‬
‫فعالة ‪ :‬البرامج المكتوبة بلغة البرمجة جافا يتم معالجتها بشكل سريع‪،‬‬
‫ربما ما يساعد على ذلك هي طريقة ال‪ ،Just-in-Time -‬والتي تترجم‬
‫الكود قبل تنفيذه لكود الحاسوب‪ ،‬وتقوم بذلك بتخزين بعض المهام‬
‫والجمل لإلشغال بها فيما بعد‪.‬‬
‫كائنية التوجه ‪ :‬ومعناه أن لغة البرمجة جافا تعتمد نموذج للبرمجة يتم‬
‫فيه بناء البرامج عن طريق الكائنات والتي تأتى‬
‫ديناميكية ‪ :‬ومعناه أن جافا لها القدرة على التأقلم مع بيئات متعددة‬
‫ومتغيرة كذلك‪.‬‬

‫تعليم لغة جافا‪:‬‬

‫على الرغم من صعوبة عملية البرمجة التي تتطلب عادة أربع سنوات‬
‫دراسية للحصول على مؤهل جامعي في مجال تقنية المعلومات وجهاز‬
‫حاسب شخصي وقدرات ذهنية مرتفعة وصبر طويل إال أن تعلم البرمجة‬
‫بلغة جافا يعد أسهل من تعلم البرمجة بلغات أخرى[بحاجة لمصدر]‪.‬‬
‫والسبب هو انتشار اإلنترنت‪ ،‬حيث تتوفر أدوات البرمجة بهذه اللغة على‬
‫موقع شركة صن ميكرو يستمز‪ ،‬كما يمكن تحميل برامج جافا من مواقع‬
‫إنترنت مختلفة‪ .‬وهي لغة سهلة التعلم‪ .‬إال أنها تحتاج كغيرها من اللغات‬
‫إلى تطبيق وممارسة‪. .‬تعتبر لغة جافا من اللغات الحديثة جدًا في عالم‬
‫البرمجة التي أنتجتها شركة ‪ sunmicrosystem‬في عام‪. .1991‬لغة جافا‬
‫تناسب تطبيقات االنترنت بصفه خاصه هذا باإلضافة إلى دعم االنواع‬
‫المختلفة من التطبيقات مثل تطبيقات تعمل على جهاز واحد(‬
‫‪ )DesktopApplication‬أو تطبيقات تعمل على شبكه‬
‫‪.))Client/serverApplication‬‬
‫تتصف لغة جافا بالصفات التالية‪:‬‬
‫لغة تلتزم بقواعد البرمجة بواسطة األهداف ‪object-‬‬
‫)‪.orientedprogramming(oop‬لغة لها بيئة تشغيل خاصه بها‬
‫)‪. JavaVirtualMachine(JVM‬لها مكتبة فصائل ‪ClasseLibrary‬كبيره‬
‫وغنيه‪.‬لغه مبنيه على قواعد اللغة الشهيرة ‪.++c/c‬تعمل برامجها على‬
‫معظم نظم التشغيل ‪.PlatformIndependent‬‬

‫بينات تطوير اللغة ‪:‬‬


‫بنية جافا تستمد الكثير من بنية لغة البرمجة سي ‪ :‬بنية اإلسناد‪ ،‬التعابير‪ ،‬التحكم‪،‬‬
‫الكتل الجميلة (‪ .)blocks‬جافا بنيت خصيًص ا لتكون لغة كائنية التوجه‪ ,‬حيث أن‬
‫كامل الكود يكون مضمنا داخل كائنات(‪ ,)Objects‬فيما عدا المتغيرات‬
‫األساسية(األرقام‪ ,‬والقيم المنطقية واألحرف)‪ ,‬حيث أنها لم توضع ككائنات‬
‫ألسباب تتعلق باألداء‪.‬لتجنب العديد من المشاكل‪ ,‬جافا لم تعتمد العديد من‬
‫الخصائص‪ ,‬مثل التوارث المتعدد(‪ )multiple inheritance‬والتحميل الزائد‬
‫للعوامل(‪.)operator overloading‬جافا تستخدم نفس نوعي التعليقات‬
‫الموجودين في ‪ ,++C‬التعليقات التي تنتهي بنهاية السطر‪ ,‬وتبدأ بالعالمة "‪،"//‬‬
‫والتعليقات المتعددة األسطر‪ ,‬والتي تبدأ بالعالمة "*‪ "/‬وتنتهي بالعالمة "‪."*/‬‬
‫تعتمد برمجة جافا طبعًا على تعليقات ‪ ++C‬كما عرف سابًقا ألنها لغة برمجة‬
‫ناتجة عن تطوير لغة ‪.++C‬‬

‫لمحة من تاريخها‬
‫هل سمعتم يوما عن لغة اسمها السي طبعا سمعتوا عنها‪ ،‬على األقل المبرمجون‬
‫يعرفونها‪ ،‬ربما اللغة التي لم تسمعوا عنها والتي سنقوم بالتلميح لها في درسنا‬
‫هي ‪ Mesa‬وهي لغة ذات منهج إجرائي‪.‬‬
‫تم ذكر اللغتين ألنهما اللتان أثرتا بالفكرة لظهور الجافا‪ ،‬طبعا ليسا الوحيدين‬
‫فالجافا تاثرت أيضا ب ‪,Ada 83 ,Eiffel ,Smalltalk ,Modula-3 ,Objective-C‬‬
‫لكنهما أثرتا بالفكرة لدى ‪ Bill Joy‬في بداية السبعينات‪ ،‬فقد كان يريد الجمع بين‬
‫إيجابياتهما‪ ،‬لكن لم يتمكن من تحقيق مبتغاه‪.‬‬
‫وفي بداية التسعينات وصف في أحد المقاالت اسمه ‪ further‬كيف يمكن أن‬
‫تكون لغة برمجة ذات منهج غرضي التوجه (البرمجة غرضية التوجه) ‪ :‬يجب أن‬
‫تبنى على السي بلس بلس‪ .‬لكن وبخيبة أمل أخرى فقد أدرك أن السي بلس‬
‫بلس كلغة أم غير مالئمة وأنها غير عملية للبرامج الكبيرة ‪.‬‬
‫لكنه لم ييأس وظل يبحث‪.‬‬
‫شخص أخر كانت له أيضًا عالقة بالجافا‪ ،‬اسمه ‪ ،James Gosling‬والذي يعتبر‬
‫األب الروحي للغة البرمجة جافا‪ ،‬قام بالتطوير في لغة السي بلس بلس لكن لم‬
‫تعجبه النتيجة‪ .‬وفي وسط هذا اإلحباط ظهرت له لغة ‪ oak‬وتعني بلوط‪ ،‬سماها‬
‫هكذا ألنه كان يشتغل ثم نظر من خالل نافذته فرأى بلوطة ( ولله في خلقه‬
‫شؤون ) ‪.‬‬
‫في دجنبر ‪ 1990‬انطلق مشروع ‪ The Green-Project :‬من طرف ‪Patrick‬‬
‫‪ Naughton‬والذي شارك فيه كل من ‪ James Gosling‬و ‪ . Mike Sheridan‬فكرة‬
‫هذا المشروع كانت لتطوير برامج التلفزة واألجهزة االستهالكية الكهربائية ‪.‬‬
‫األدوات األساسية لهذا المشروع كانت ‪ ,Green-Os, OAK :‬وبعض األدوات‬
‫األخرى ‪.‬‬
‫قام ‪ Bill Joy‬بعرض مقال ‪ further‬على بقية األعضاء وبدأ مباشرة بتطوير أحد‬
‫واجهات التصميم‪ .‬بعد ذلك قام ‪ gosling‬بتصميم المترجم الرئيسي بلغة السي‬
‫أما لغة ‪ OAK‬فهي التي نفذت وقدمت أول البرامج في غشت ‪ 1991‬التي أدت‬
‫بالمجموعة لتصميم آلة سموها ‪ .*Seven‬مدير شركة ‪Sun : Scott McNealy‬‬
‫انبهر ب *‪.7‬‬
‫أسست المجموعة شركة ‪ First Person‬في نونبر ‪. 1992‬‬
‫في بداية سنة ‪ 1993‬سمع الفريق عن طلب من ‪ Time Warner‬متعلق بنظام ل‬
‫‪ set-top-box‬وهي عبارة عن أدوات كهربائية‪.‬وجهت شركة ‪ First Person‬النظر‬
‫على هذه األدوات لكن ‪ Time Warner‬لم تكن مهتمة بذلك‪.‬رغم ذلك ظلت‬
‫الشركة تطور في نفسها وبتغيير لوجهات تطوير عديدة تمركز التطوير على‬
‫‪ World wide Web‬والذي كان يحتاج إلى لغة برمجة قوية لتطبيقها في‬
‫الويب‪.‬رأى فريق العمل أن لغة ‪ oak‬لغة مثالية الستخدامها في الويب رغم أنها‬
‫طورت لغرض مخالف تماما‪ .‬بعد ذلك أخذت لغة ‪ oak‬اسم ‪ java‬ألجل حقوق‬
‫الحفظ والطبع ‪ :‬كانت هناك لغة برمجة أخرى أخدت االسم ‪ .‬بعد أن قدمت لغة‬
‫الجافا نموذج ‪ WebRunner‬وهو نموذج للمتصفحات‪ ،‬قام ‪Jonathan Payne‬‬
‫بتنقيحه حيث ظهر متصفح ‪ HotJava‬وفي ماي قدم االفتتاح للغة جافا لدى‬
‫‪. sunWorld '95‬فقط مستعملون قليلون هم من صاحبوا ‪ ,HotJava‬فجاء‬
‫‪ NetScape‬كحظ للغة الجافا ليرخص لتقنية الجافا واستعملت بذلك في النسخة‬
‫‪ 2.0‬للبرنامج ‪ .‬حتى هذه اللحظة لم يتمكن المبرمجون من برمجة تطبيقات‬
‫الجافا‪ ،‬فقط ابتداء من سنة ‪ 1996‬حيث ظهر ‪ JDK 1.0‬الذي مكنهم من البرمجة‪.‬‬
‫قبل ذلك بقليل قام أعضاء الفريق بإنشاء شركة ‪ javasoft‬والتي بدأ معها مشوار‬
‫الجاف‬

‫إصدارات لغة الجافا عدل‬

‫‪Java SE‬‬

‫اإلصدار القياسي من الجافا باإلنجليزية (‪ )Java Standard Edition‬هو الجزء‬


‫الخاص ببرمجة برامج سطح المكتب (‪.)StandAlone applications‬‬
‫‪Java EE‬‬

‫اصدار اإلنتربرايس باإلنجليزية (‪)Java Enterprise Edition‬هو يختلف عن اإلصدار‬


‫القياسي في أنه خاصببرمجة الخوادم والتطبيقات الموزعة وبرمجة الويب‪.‬‬

‫‪Java ME‬‬

‫اصدار المايكرو باإلنجليزية (‪ )Java Micro Edition‬وهو إصدار خاص بالبرمجة‬


‫على الهواتف المحمولة واألجهزة المحدودة في المصادر عموما وتعتبر الخيار‬
‫األول لمبرمجي ألعاب الهواتف المحمولة‪.‬‬

‫‪Java Fx‬‬

‫تقنّية أخرى اصدرتها صن ميكروسيستمز لتطوير تطبيقات من نوع "‪ "RIA‬أي "‬
‫‪."Rich Internet Applications‬‬

‫الفرق بين برمجة إجرائية وغرضية التوجه‬

‫بالنسبة ألي شخص جديد في عالم البرمجة فبعض المفردات قد تكون غير‬
‫اعتيادية‪ ،‬وكذلك الولوج لهذا العالم يكون صعب بعض الشيء‪ ،‬ولتبسيط كل ذلك‬
‫وجب التحدث عن األشياء العامة أوًال‪ ،‬ومعرفة عن ماذا نتحدث ! لكي توضح‬
‫الرؤية‪ .‬من الطبيعي أن تعرف أنك هنا من أجل تعلم لغة جافا‪ ،‬والتي هي لغة‬
‫برمجة‪ ،‬أيضًا يتوجب عليك معرفة ما معنى برمجة‪ ،‬والتي تم شرحها في الدرس‬
‫عن السي‪ .‬أما هنا فسيتم شرح ألي أنواع البرمجة تنتمي لغة جافا‪ ،‬وهذا الدرس‬
‫أراه مهم وذلك ألنه يعطيك فكرة أولية عن بنية لغة جافا وكيف تشتغل‪.‬في عالم‬
‫البرمجة هناك طرق عديدة لحل المشاكل في البرامج بحسب كل لغة برمجة‪،‬‬
‫فبينما يتم هذا االجراء بطريقة تسلسلية في لغة برمجة معينة‪ ،‬يتم في أخرى‬
‫بطريقة تمثيل الواقع بكائناته !سوف أتكلم عن نموذجين من أشهر نماذج‬
‫البرمجة وكون أنني سأتكلم عن هذين النموذجين فقط هذا ال يعني أنهما‬
‫الوحيدين في عالم البرمجة فهناك أيضا نماذج أخرى لن نتطرق لها والسبب هو‬
‫أنها ال تهمنا وألن أغلب لغات البرمجة وأشهرها نظامها يكون على شكل‬
‫النموذجين ‪.‬‬

‫البرمجة اإلجرائية‬

‫هي المنهج لتصميم برامج‪ ،‬هذه البرامج تحتوي ببساطة على سلسلة من‬
‫المراحل مرحلة بعد األخرى‪ .‬كما تعتمد تقسيم البرامج لمهام صغيرة أو‬
‫‪ Procedures‬ومنها أتت التسمية‪ .‬إن تطوير لغات البرمجة التي تتبع هذا المنهج‬
‫كان خطوة أساسية بين لغة ‪ Assembler‬واللغات العالية المستوى‪.‬البرمجة‬
‫اإلجرائية هي حل أمثل وأحسن من البرمجة المتتابعة التي تعتمد على كتابة‬
‫البرنامج مبسط وطويل ‪.‬‬

‫من إيجابيات هذا النموذج ‪:‬‬

‫إمكانية إعادة استعمال كود من األكواد المدخلة في البرنامج لعدة‬ ‫‪.1‬‬


‫مرات بال إعادة كتابته في أي مكان في البرنامج‬
‫متابعة البرنامج وفهمه فهما جيدا ‪.‬‬ ‫‪.2‬‬
‫إنشاء كود مبني ببنية ووحدات قوية ‪.‬‬ ‫‪.3‬‬
‫مالئمة جدا للبرامج الصغيرة‪.‬‬ ‫‪.4‬‬

‫أمثلة للغات البرمجة التي تتبع النموذج اإلجرائي ‪:‬‬

‫لغة السي ‪ :‬سنة ‪. 1970‬‬ ‫‪.1‬‬


‫‪ : FORTRAN‬سنة ‪. 1956‬‬ ‫‪.2‬‬
‫‪ : Cobol‬سنة ‪.1960‬‬ ‫‪.3‬‬
‫‪ : Algol 60‬سنة ‪.1960‬‬ ‫‪.4‬‬
‫‪ : PL/1‬سنة ‪.1968‬‬ ‫‪.5‬‬
‫‪ : Pascal‬سنة ‪.1970‬‬ ‫‪.6‬‬
‫‪ : Pearl‬سنة ‪.1981‬‬ ‫‪.7‬‬
‫السي بلس بلس ‪ :‬سنة ‪.1986‬‬ ‫‪.8‬‬

‫من سلبيات هذا النموذج ‪:‬‬

‫ضعفه أمام البرامج الكبيرة فهو غير مالئم للبرمجة المعقدة ‪.‬‬ ‫‪.1‬‬
‫مشاكل كبيرة ومعقدة في التصميم والصيانة ‪.‬‬ ‫‪.2‬‬
‫عند إعادة استعمال أجزاء البرنامج (ليس في الكود نفسه ولكن في‬ ‫‪.3‬‬
‫إعادة استعمال أكواد أخرى يستعملها البرنامج الرئيسي ) ‪:‬‬

‫‪ -‬صعوبة تنفيذ التغيرات ‪.‬‬

‫‪ -‬تدفق للخوارزميات ولهياكل البيانات ‪.‬‬

‫‪ -‬تطوير برنامج جديد يكون في الغالب أرخص من التعديل ‪.‬‬

‫البرمجة غرضية التوجه ‪:‬‬

‫هي عبارة عن نمط برمجة متقدم‪ ،‬وفيه يقسم البرنامج إلى وحدات تسمى‬
‫الكائنات (‪ ،)Objects‬كل كائن عبارة عن حزمة (تعليب) من البيانات (المتغيرات‬
‫والثوابت) والدوال ووحدات التنظيم وواجهات االستخدام ‪ .‬ويتم بناء البرنامج‬
‫بواسطة استخدام الكائنات وربطها مع بعض وواجهة البرنامج الخارجية باستخدام‬
‫هيكلية البرنامج وواجهات االستخدام الخاصة بكل كائن‪( .‬ويكبيديا) ‪.‬‬

‫الفكرة األساسية للبرمجة غرضية التوجه هي تجميع البيانات والدوال لكود ما في‬
‫ما يسمى كائن إلعادة استعمالها في الكود لجعل البرنامج مفهوم أكثر وتسهيل‬
‫تعقيده ‪.‬‬

‫نفذ هذا النموذج بداية في لغة ‪ Smalltalk‬التي اخترعت من طرف ‪.Alan Kay‬‬

‫أهم شيء في هذا النموذج هو الكائن ‪ object‬وللمقاربة بواقعنا فكما يعلم الجميع‬
‫أن عالمنا يتكون من أشياء ‪ :‬سيارة‪ ,‬إنسان‪ ,‬حجر ‪ ...‬هذه األشياء يتم وصفها فمثال‬
‫إن أخذنا شخص ما فوصفه سيكون ربما بالشكل التالي ‪:‬‬
‫ـ طويل ‪.‬‬

‫‪ -‬أسمر ‪.‬‬

‫‪ -‬نحيف ‪.‬‬

‫‪ -‬شعره أسود ‪.....‬‬

‫كما ترون فالكائن هو اإلنسان ووصفه يمكن أن نطلق عليه بيانات أو طرق في‬
‫البرمجة وهكذا يتم تصنيف األشياء في البرمجة الغرضية التوجه ‪.‬هذا النوع من‬
‫البرمجة هو محبب لدى كثير من المطورين والدليل على ذلك هو تطوير لغة‬
‫السي إلى لغة غرضية التوجه ‪ :‬السي بلس بلس حين قال مطورها ‪Bjarne :‬‬
‫‪: Stroustrup‬‬

‫‪The design goal was to create a better C, a C with classes‬‬

‫الشيء الذي يدل على أن البرمجة غرضية التوجه نموذج أريح من نظيره‬
‫اإلجرائي‪ ،‬لكن السي بلس بلس بقيت إجرائية كذلك ‪.‬‬

‫أمثلة للغات البرمجة التي تتبع النموذج الغرضي التوجه ‪:‬‬

‫‪ : smalltalk‬سنة ‪.1980‬‬

‫‪: java‬سنة ‪.1992‬‬

‫السي بلس بلس ‪. 1986 :‬‬

‫لغة الجافا تتبع هذا النوع من البرمجة‪ ،‬بطبيعة الحال فإن البرمجة بهذا النموذج‬
‫تكون صعبة‪ ،‬لكن السهولة النسبية تتمثل في القدرة على تمثيله بسرعة ألنه‬
‫قريب من الواقع‪.‬‬

‫تطرقنا لتاريخ الجافا وكذلك ألنواع البرمجة‪ ،‬فعرفنا بذلك أن الجافا ليست كعكة‬
‫وانما لغة برمجة‪ ،‬من خاللها يمكننا تصميم برامج كاالكلبس الذي سنراه بعد‬
‫قليل‪ ،‬وهو برنامج يترجم أكواد الجافا والعديد من البرامج االخرى واأللعاب ‪...‬‬
‫التركيب اللغوي للجافا(‪)syntax‬‬

‫بنية جافا تستمد الكثير من بنية لغة البرمجة سي ‪ :‬بنية اإلسناد‪ ،‬التعابير‪ ،‬التحكم‪،‬‬
‫الكتل الجملية (‪ .)blocks‬جافا بنيت خصيًص ا لتكون لغة كائنية التوجه‪ ,‬حيث أن‬
‫كامل الكود يكون مضمنا داخل كائنات(‪ ,) OBJECTS‬فيما عدا المتغيرات‬
‫األساسية(األرقام‪ ,‬والقيم المنطقية واألحرف)‪ ,‬حيث أنها لم توضع ككائنات‬
‫ألسباب تتعلق باآلداء‪.‬‬
‫لتجنب العديد من المشاكل‪ ,‬جافا لم تعتمد العديد من الخصائص‪ ,‬مثل التوارث‬
‫المتعدد(‪ )multiple inheritance‬والتحميل الزائد للعوامل(‪operator‬‬
‫‪.)overloading‬‬
‫جافا تستخدم نفس نوعي التعليقات الموجودين في ‪ ,++C‬التعليقات التي تنتهي‬
‫بنهاية السطر‪ ,‬وتبدأ بالعالمة "‪ ،"//‬والتعليقات المتعددة األسطر‪ ,‬والتي تبدأ‬
‫بالعالمة "*‪ "/‬وتنتهي بالعالمة "‪."*/‬‬
‫تعتمد برمجة جافا طبعًا على تعليقات ‪ ++C‬كما عرف سابًقا ألنها لغة برمجة‬
‫ناتجة عن تطوير لغة ‪.++C‬‬

‫أدوات أساسية للبرمجة بلغة الجافا‬


‫لتحقيق أي هدف‪ ،‬ولتصميم أي شيء البد من توفر األدوات المناسبة لذلك‪ ،‬فمثًال‬
‫إذا أردت كتابة قصيدة شعرية فالبد من توفرك على قلم‪ ،‬ورق‪ ،‬وكذلك على‬
‫االسلوب فليس أي شخص قادر على كتابة قصيدة‪ .‬كذلك الحال مع لغة البرمجة‬
‫جافا‪ ،‬يجب توفر أدوات ضرورية لبرمجة البرامج بهذه اللغة‪ ،‬وكذلك معرفة‬
‫قواعدها ( االسلوب ) لتكتمل المعرفة‪.‬‬

‫في هذا الدرس إن شاء الله سوف نرى ماهي هذه األدوات وكذلك كيفية‬
‫استخدامها ‪.‬‬

‫بما اننا سوف نبرمج‪ ،‬فاننا بحاجة لكتابة أكواد‪ ،‬هذه األكواد لن يتم كتابتها على‬
‫الورق! وانما على الحاسوب‪ ،‬لهذا فسنحتاج لمحرر نصوص على الحاسوب‬
‫( برنامج) نكتب فيه األكواد‪ ،‬بعد االنتهاء من كتابة هذه األكواد يجب أن نرسلها‬
‫للحاسوب لكي يقوم بتنفيذ أوامرها‪ .‬لكنه وكما جاء في الدرس عن السي ال يفهم‬
‫هذه األكواد ! إذًا الحل هو التوفر على برنامج يقوم أوًال بترجمة هذه األكواد لكي‬
‫يتمكن الحاسوب من فهمها‪ ،‬بعد ذلك سيكون باالمكان تنفيذ البرنامج ‪.‬‬
‫من هذا التقديم نستلخص اننا بحاجة لبرنامج نكتب فيه األكواد (محرر نصوص)‪،‬‬
‫ومترجم يترجم هذه األكواد للغة يفهمها الحاسوب ‪,‬‬

‫‪JDK‬‬ ‫تحميل‪IDE‬‬ ‫بيئة التطوير‬ ‫المترجم‬ ‫محرر النصوص‬


‫انشاء مشروع جديد على اكليبس‬ ‫اكليبس‬

You might also like