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

فالجافا تعتبر (****** Oriented Programming (OOP)) و اخترعها جيمس غوسلنج من (Sun Microsystems) الشهيرة بينما اخترع الجافاسكربت مجموعة (Netscape) الشهيرة أيضاً و تعتبر أيضاً (OOP).

لكي نوضح الصورة أكثر دعونا نعتبر الجافاسكربت ابنة العم البعيدة للجافا. فهناك قواسم كثيرة مشتركة من الأوامر التي تكتب اثناء البرنامج. ولكن الجافا سكربت أقل تعقيداً من الجافا. فيكفي الطالب (المحارب) ذوي القدرات الذهنية المتوسطة أن يستوعب الجافاسكربت خلال أسبوع واحد. ولكن الجافا تستخدم لعدة وظائف مثل البرامج التطبيقية (حساب مساحة دائرة مثلاُ) و تستخدم أيضاً في الانترنت. ولكن الجافاسكربت فقط تستخدم في الانترنت. لعلك تتساءل ماذا نقصد ب (OOP)؟ فهم هذا المصطلح جيداً يغني عن الكثير. فهي تعتبر نظرية جديدة (نسبياً). وتعني أن اجزاء متفرقة من البرنامج (برامج مختلفة صغيرة) من الممكن أن ترتبط معاً لتعطي برنامجاً واحداً أشمل مكوناً من هذه البرامج الجزئية. بإختصار: الأجزاء تصنع الكل. تماماً كجسم الإنسان (شئ واحد) يتكون من (عدة أشياء) مثل الجهاز التنفسي و العظام و الدم و الجلد و اللحم. هل لاحظتم؟ فهذه الأشياء لاعلاقة مباشرة بينهم. بربكم هل هناك علاقة (واضحة) بين الدم و العظم مثلاُ؟ طبعاً لاعلاقة واضحة ولكن ارتباطهم معاً حيوي و ضروري لكي تكون نافعة للجسم.

مثال أخر لأهمية هذا المصطلح. انظر لها على هذا النحو: تخيل أنك تريد صنع نموذج سيارة(car model). أولاً ستصنع ماكينة الإحتراق. هذه الماكينة قد تعمل لوحدها. فهي ماكينة و الكل سينظر لها أنها ماكينة وظيفتها محددة و هي عملية الإحتراق الداخلي.

بعد ذلك تبني الهيكل (body) . هذا الهيكل قد يعمل لوحده (stand alone) أيضاً. و أخيراً تبني الأجزاء الداخلية مثل المقاعد و المقود و بقية (ألأشياء) فكل واحدة تعتبر شئ ( ****** ) بحد ذاتها. و كلمة شئ هنا يجب أن لاتمر مرور الكرام ككلمة عامة بل يجب أن ننظر لها كمصطلح مهم بل و مهم جداً. فالماكينة شئ و الهيكل شئ و المقاعد شئ والكفر (العجلات) شئ والمقود شئ هذه الأشياء قد تعمل لوحدها – فمن خاصية العجلات مثلاُ الدوران بفعل مؤثر خارجي. فيكفي أن يحركها طفل صغير لتسير عدة مترات. ولكن هل يكفي أحد هذه الأشياء لصنع سيارة؟ بطبيعة الحال لا. ولكن بإرتباط هذه (الأشياء-******s ) معاً نستطيع صنع (شئ واحد- an ******) ذا فائدة أهم و أشمل و أعم. نواصل مع مثال نموذج السيارة. عندما تصنع الماكينة فهذه الماكينة بحد ذاتها تتكون من أصناف (classes) متنوعة. بعض هذه الأصناف قد يكون قاسماً مشتركاً مع أصناف شئ أخر. لاحظو جيداً دخول كلمة أصناف هنا و مفردها صنف (class). إذن (الشئ – ****** ) يتكون من عدة أصناف (classes). هذه الأصناف هي التي يمكن من خلالها ربط الأشياء المختلفة. فمثلاُ المقاعد و الهيكل ماهي العلاقة بينهم. فقط نحتاج الى صواميل (صنف) لتثبيت المقاعد على قاعدة الهيكل. المقود و العجلات يجب أن يكون بينهم وسيلة تواصل للربط بينهم. و هكذا.

نعود للبرمجة فهي تتبع الأمثلة بعاليه. فالبرنامج ككل عبارة عن عدة برامج جزئية أصغر (******s) وكل برنامج جزئي يتكون من أصناف مختلفة (class).

الأن هل فهمتم مصطلح – ****** Oriented Programming - OOP سنفترض ذلك و هذا شئ جيد. ولكن إن لم يكن فأعد قراءة الأسطر السابقة و ياحبذا أن تفعل ذلك عدة مرات. الأن دعونا نكمل سؤال البرنامج الأصلي للفروق بين الجافا و ابنة عمتها البعيدة الجافاسكربت. الجافا قد تستخدم لوحدها من غير أي برنامج أخر لتأدية وظائفها و لكن الجافاسكربت لايمكن الاستفادة منها الا بتضمينها داخل نص ال (HTML) لكي تعمل و تؤدي الغرض منها (وقريباً بإذن الله درس خاص عنها). الجافا كما قلنا أكثر تعقيداً و التي تستخدم في بناء برامج تطبيقية رياضية. من خلال الجافا – نستطيع بناء برامج – **** ****** (سميت ****** لأنها برنامج قصير جداً) التي تستخدم في إنشاء صفحات الانترنت و المواقع الشخصية لإضفاء بعض الجاذبية و التعددية الوظيفية على الموقع والتي لايمكن تنفيذها من خلال ال HTML لوحده أو بعض البرامج مثل الجافا سكربت و غيرها.

الجافا سكربت تكتب داخل برنامج ال HTML – تلك الدروس و التي سلف شرحها في هذا الموقع ولاتحتاج الى عملية compilation أو Execution بل و كما فعلنا في دروس HTML نكتب برنامج ال HTML وبداخله أوامر الجافاسكربت وعند فتح صفحة الويب نرى التأثيرات.

الجافا و من خلال ابنتها (ا******s) يجب أن تضمن داخل قطعة ال HTML تماماً مثل الجافا سكربت. ولكن الجافا بحد ذاتها مستقلة.

بعبارة أخرى نكتب برنامجاً في الجافا وبعد ال (compilation process) ينتج لدينا صنف اسمه (**** ******) – نغلق الجافا. ثم نفتح برنامج ال HTML و نضمن بداخلها موقع هذه ال (******) – لا أقل و لا أكثر.

منقول