يركز هذا البحث عن لغة الجافا على سؤال عملي: ماذا يحدث بين كتابة التعليمات وظهور النتيجة؟ جافا لغة برمجة ومنصة لها أدوات ومكتبات، ومن المهم التمييز بين الملف الذي يكتبه المبرمج والملف الناتج عن الترجمة وبيئة التشغيل. نستعرض هذا المسار بمثال صغير، ثم نوضح معنى تنظيم البرنامج في كائنات.
لغة، وأدوات، وبيئة تنفيذ
تعرض IBM جافا لغة برمجة ومنصة برمجية تدعم البرمجة الموجهة للكائنات. تضم المنصة مكتبات ووظائف يستخدمها البرنامج، ويحتاج تطويره إلى حزمة أدوات JDK. أما JVM فهي الآلة الافتراضية التي تنفذ تعليمات البايت كود ضمن البيئة الملائمة. [1]
تصور أنك تعد برنامجًا لعرض مجموع عددين. لا يكفي فتح محرر وكتابة اسم جافا في رأس الصفحة؛ تحتاج إلى تعليمات صحيحة وأداة تعرف كيف تعالجها. المحرر هو مكان كتابة النص، وبيئة التطوير قد تجمع الكتابة والترجمة والتشغيل في واجهة واحدة.
ما الفرق بين الملفين؟
في المسار المعتاد للترجمة، يقرأ الأمر javac ملفًا ينتهي بـ.java وينتج ملف صنف ينتهي بـ.class قابلًا للتنفيذ على JVM. ثم يبدأ الأمر java تشغيل التطبيق بتحميل الصنف واستدعاء نقطة البدء. ليست اللاحقتان اسمين متبادلين للملف نفسه. [2] [3]
إذا كان الصنف العام اسمه SumDemo، فاكتب المصدر في SumDemo.java. يصبح لديك بعد الترجمة SumDemo.class. في مشروع بسيط بلا حزم، يمكن تمثيل المرحلتين بـjavac SumDemo.java ثم java SumDemo؛ اسم الصنف في أمر التشغيل هنا بلا لاحقة. [2] [3]
مثال حسابي قصير
داخل نقطة البدء التقليدية public static void main(String[] args)، يمكن كتابة int total = 3 + 4; ثم System.out.println(total);. الجملة الأولى تحسب قيمة متغير صحيح، والثانية تطبعها. النتيجة المتوقعة حسابيًا هي 7؛ هذا مقتطف للتفسير، وليس ملفًا كاملًا مستقلًا.
عند التعلم، ميز الخطأ في كتابة الصيغة من الخطأ في منطق الحساب. إذا كتبت جمعًا بينما تريد طرحًا فقد يكون النص صالحًا نحويًا لكن النتيجة لا تحقق طلبك. قراءة المثال وشرح كل تعليمة خطوة أولى، ثم ضع المقتطف في برنامج كامل لتجربته.
الصنف نموذج والكائن نسخة لها بيانات
خذ مثالًا مؤلفًا لسجل استعارة كتاب. يمكن تعريف صنف يحوي اسم المستعير وعنوان الكتاب وموعد الإعادة. ثم ينشأ كائن لسجل هند، وكائن آخر لسجل سليم. كلاهما يتبع التصميم نفسه، لكن القيم المخزنة فيهما مختلفة. هكذا تفصل نموذج البيانات عن كل حالة فعلية.[5]
لا يلزم أن تبدأ بتصميم نظام مكتبة كامل. اكتب أولًا ما البيانات اللازمة لسجل واحد، ثم ما العمل الذي ستطلبه منه، مثل عرض ملخصه. هذا المثال يشرح طريقة التفكير بالكائنات، ولا يدعي أن وصف شيء في الواقع يصنع برنامجًا مكتملًا تلقائيًا.
قابلية النقل تحتاج بيئة متوافقة
تسمح تعليمات البايت كود بتشغيل البرنامج على أنظمة لها JVM مناسبة، لكن توافق الإصدار والاعتماديات مهم. يتناول توثيق المترجم استهداف إصدارات أقدم، ويعرض المشغل أوضاعًا مختلفة، منها تشغيل المصدر مباشرة. الرسم السابق يشرح مسارًا شائعًا للتعلم، وليس حصرًا للطرق الممكنة. [1] [2] [3]
وجافا وJavaScript لغتان مختلفتان رغم تشابه الاسمين. إذا أردت تعلم الأولى فابدأ بمسارها وأدواتها، لا بدروس الثانية لمجرد الاسم. يعرض دليل Dev.java التعلم باستخدام محرر أو سطر الأوامر وبيئة تطوير؛ اختر أسلوبًا واضحًا تستطيع فيه رؤية ما كتبته وما نتج عنه. [1] [4]
المصادر ومتابعة القراءة
- IBM: تعريف جافا ومسار JDK والبايت كود (يفتح في نافذة جديدة)ibm.com
- Oracle: توثيق javac وملفات المصدر والأصناف (يفتح في نافذة جديدة)docs.oracle.com
- Oracle: توثيق مشغل java وطرق التشغيل (يفتح في نافذة جديدة)docs.oracle.com
- Dev.java: التعلم بالمحرر أو سطر الأوامر (يفتح في نافذة جديدة)dev.java
- Dev.java: الصنف ومتغيرات كل كائن (يفتح في نافذة جديدة)dev.java
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
