مقدمة في Java: اكتب مرة وشغّل في أي مكان
البنوك، وأنظمة الحجز في شركات الطيران، والمتاجر الإلكترونية الضخمة، وملايين التطبيقات: كلها تعتمد على لغة Java. في هذا الدرس ستتعرف على واحدة من أكثر لغات البرمجة انتشاراً في العالم، وعلى فكرتها الذكية «اكتب مرة وشغّل في أي مكان»، وستكتب أول برنامج بها.
ما هي Java؟
Section titled “ما هي Java؟”Java لغة برمجة كائنية ظهرت عام 1995 من شركة Sun Microsystems، وكان وراءها فريق بقيادة جيمس جوسلينج (James Gosling). وفي 2010 اشترت شركة Oracle شركة Sun، فأصبحت هي المسؤولة عن تطوير Java.
ولماذا هذا الاسم؟ «جافا» اسم جزيرة في إندونيسيا تشتهر بالقهوة، ولهذا يحمل شعار اللغة كوب قهوة ساخن!
الفكرة العبقرية: اكتب مرة وشغّل في أي مكان
Section titled “الفكرة العبقرية: اكتب مرة وشغّل في أي مكان”في الماضي، إذا كتبت برنامجاً لويندوز، كان عليك أن تعدّله ليعمل على ماك أو لينكس. Java حلت هذه المشكلة بفكرة ذكية:
- تكتب الكود في ملف
.java. - المترجم يحوّله إلى لغة وسيطة اسمها Bytecode، وليس إلى لغة جهاز معين.
- على أي جهاز، برنامج اسمه JVM (آلة Java الافتراضية) يقرأ الـ Bytecode وينفّذه.
تخيّل أنك كتبت كتاباً بلغة عالمية مبسطة، ثم في كل دولة يوجد مترجم محلي (JVM) يقرأ الكتاب لأهلها بلغتهم. أنت تكتب الكتاب مرة واحدة، وهو يُقرأ في كل مكان فيه مترجم. ولهذا شعار Java الشهير: «Write Once, Run Anywhere».
أين تُستخدم Java؟
Section titled “أين تُستخدم Java؟”- أنظمة الشركات الكبيرة: البنوك وشركات التأمين والاتصالات تعتمد عليها لثباتها وأمانها.
- تطبيقات الخادم: عبر أطر عمل قوية مثل Spring.
- أندرويد: لسنوات طويلة كانت اللغة الأساسية لتطبيقات أندرويد، وما زالت ملايين التطبيقات مكتوبة بها، رغم أن Kotlin أصبحت اللغة المفضلة الآن.
- الألعاب: لعبة Minecraft الشهيرة كُتبت نسختها الأصلية بـ Java.
- البيانات الضخمة: أدوات معالجة البيانات الكبيرة في الشركات.
أول برنامج في Java
Section titled “أول برنامج في Java”public class Main { public static void main(String[] args) { System.out.println("Hello, Java!"); }}Hello, Java!قد يبدو طويلاً لبرنامج يطبع جملة واحدة، لكن لكل كلمة معنى:
public class Main: في Java، كل كود يعيش داخل كلاس. وهذا الكلاس اسمهMain، ويجب أن يطابق اسم الملفMain.java.public static void main(String[] args): الدالة الرئيسية التي يبدأ منها البرنامج. ستفهم كل كلمة فيها تدريجياً:publicتعني «متاحة للجميع»، وvoidتعني «لا تُرجع شيئاً».System.out.println(...): تطبع النص ثم تنتقل لسطر جديد. اقرأها: «من النظام، عبر المخرج، اطبع سطراً».;في نهاية الأمر إلزامية.
لمحة عن المتغيرات
Section titled “لمحة عن المتغيرات”Java لغة صارمة في الأنواع: يجب أن تحدد نوع كل متغير:
public class Main { public static void main(String[] args) { String name = "Sara"; int age = 14; System.out.println("Name: " + name + ", Age: " + (age + 1)); }}Name: Sara, Age: 15String(بحرف S كبير) للنصوص، وintللأعداد الصحيحة.- العلامة
+تلصق النصوص بالقيم. - لاحظ الأقواس حول
(age + 1): بدونها كانت Java ستلصق14ثم1فتطبع141!
كيف تشغّل كود Java؟
Section titled “كيف تشغّل كود Java؟”- ثبّت JDK (Java Development Kit)، وهو يحتوي على المترجم و JVM. يمكنك تنزيل نسخة مجانية مثل OpenJDK.
- احفظ الكود في ملف
Main.java. - ترجمه ثم شغّله:
javac Main.javajava Mainالأمر javac يترجم الكود إلى Bytecode في ملف Main.class، والأمر java يشغّله على JVM. وفي الإصدارات الحديثة يمكنك أن تشغّل الملف مباشرة بـ java Main.java.
جرّب بنفسك
Section titled “جرّب بنفسك”اكتب برنامج Java يطبع بطاقة طالب:
Student: MariamGrade: 9Score: 87Passed: trueاستخدم String للاسم، و int للصف والدرجة، و boolean لحالة النجاح بالقيمة score >= 50.
أخطاء شائعة
Section titled “أخطاء شائعة”- اختلاف اسم الكلاس عن اسم الملف: إذا كان الكلاس
public class Main، فيجب أن يكون الملفMain.javaبالضبط. - كتابة
stringبحرف صغير: في Java النوعStringبحرف S كبير. - نسيان الفاصلة المنقوطة أو الأقواس: Java صارمة، وأي قوس ناقص يمنع الترجمة.
اختبر نفسك
Section titled “اختبر نفسك”سؤال
ما وظيفة JVM في Java؟
JVM هي آلة Java الافتراضية التي تقرأ الـ Bytecode وتنفّذه، فيعمل البرنامج على أي نظام.
سؤال
إذا كان الكود public class Hello، فما اسم الملف الصحيح؟
اسم الملف يجب أن يطابق اسم الكلاس العام تماماً، بما في ذلك حالة الأحرف.
الخلاصة
Section titled “الخلاصة”- Java لغة كائنية من 1995، ومنتشرة جداً في الشركات والأنظمة الكبيرة.
- فكرتها: الكود يتحول إلى Bytecode تشغّله JVM على أي جهاز.
- كل كود يعيش داخل كلاس، والبرنامج يبدأ من
public static void main. System.out.printlnللطباعة، والأنواع صارمة مثلStringوint.javacللترجمة وjavaللتشغيل، وتحتاج تثبيت JDK.