العربية  

java

If you do not find what you're looking for, you can use more accurate words.

View more

جافا (Info)


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

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

توجد لغات برمجة عديدة: إلا أنه يوجد فيها نوع من التخصص، حيث يعتمد اختيار اللغة على المهام التي نريد من الحاسب إنجازها، حيث أن لكل لغة ما يناسبها، وهناك مهام يصعب تنفيذها بلغة معينة ولكنها تكون ميسورة بلغة أخرى، ومن اللغات التي ظهرت في فترة الستينات لغة البيسك وهي لغات تدرس للمبتدئين، Beginners All Symbolic Instruction Code.

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

مميزات

تتميز لغة جافا بمميزات خاصة مما يجعلها أكثر لغات البرمجة إثارة؛ حيث أن ما يميزها الآتي:

    التركيبة اللغوية للجافا (Syntax)

    بنية جافا تستمد الكثير من بنية لغة البرمجة سي : بنية الإسناد، التعابير، التحكم، الكتل الجملية (blocks). جافا بنيت خصيصًا لتكون لغة كائنية التوجه، حيث أن كامل الكود يكون مضمنا داخل كائنات(Objects), فيما عدا المتغيرات الأساسية(الأرقام، والقيم المنطقية والأحرف), حيث أنها لم توضع ككائنات لأسباب تتعلق بالآداء.

    لتجنب العديد من المشاكل، جافا لم تعتمد العديد من الخصائص، مثل التوارث المتعدد (multiple inheritance) والتحميل الزائد للعوامل (operator overloading).

    جافا تستخدم نفس نوعَيْ التعليقات الموجودين في C++, التعليقات التي تنتهي بنهاية السطر، وتبدأ بالعلامة "//"، والتعليقات المتعددة الأسطر، والتي تبدأ بالعلامة "*/" وتنتهي بالعلامة "/*".

    تعتمد برمجة جافا طبعاً على تعليقات C++ كما عرف سابقًا لأنها لغة برمجة ناتجة عن تطوير لغة C++.

    أمثلة

    برنامج أهلا بالعالم التقليدي مكتوبا بلغة الجافا:

    /* * Outputs "Hello, World!" and then exits */ public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }

    ملاحظة : يمكن الاستغناء عن "public"(يسمّى المغيّر) في السطر الأوّل من المصدر(خلاف التعليق بالطّبع)؛ في هذه الحال لا تكون الفئة متاحة إلا داخل حزمتها (package). فـ public يجعل منها متاحة بلا قيود.

    تنبيه : لاتستخدم "private" كـمغيّر على فئات المستوى الأعلىtop-level class) لأنّه لا من شيء يمكنه الوصول إليها فيما بعد.. وهذا بِلَا فَائِدَة .

    مثال عن آلة حاسبة

    مصفوف خاصة

    public class Main

    public static void main

    System.out.println("Hello World!");

    Scanner input = new Scanner(System.in);

    System.out.print("Enter a number: ");

    double number1 = input.nextDouble();

    System.out.print("Enter second number: ");

    double number2 = input.nextDouble();

    double product = number1 * number2;

    System.out.printf("The product of both numbers is: %f", product);

    } import java.util.*;

    public class Main

    public static void main(String[] args)

    System.out.println("Hello World!");

    Scanner input = new Scanner(System.in);

    System.out.print("Enter a number: ");

    double number1 = input.nextDouble();

    System.out.print("Enter second number: ");

    double number2 = input.nextDouble();

    double product = number1 * number2;

    System.out.printf("The product of both numbers is: %f", product);

    public class Main

    public static void main(String[] args)

    System.out.println("Hello World!");

    Scanner input = new Scanner(System.in);

    System.out.print("Enter a number: ");

    double number1 = input.nextDouble();

    System.out.print("Enter second number: ");

    double number2 = input.nextDouble();

    double product = number1 * number2;

    System.out.printf("The product of both numbers is: %f", product);

    صفوف خاصة

    برمجيات

    // Hello.java import java.applet.Applet; import java.awt.Graphics; public class Hello extends Applet { @Override public void paintComponent(Graphics g) { g.drawString("Hello, world!", 65, 95); } }

    يتم تضمين البرنامج Hello.class في صفحة HTML عن طريق العنصر <applet> كما يلي:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!-- Hello.html --> <html> <head> <title>Hello World Applet</title> </head> <body> <applet code="Hello.class" width="200" height="200"> </applet> </body> </html>

    تطبيق Swing

    // Hello.java (Java SE 5) import java.awt.BorderLayout; import javax.swing.*; public class Hello extends JFrame { public Hello() { super("hello"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setLayout(new BorderLayout()); (new JLabel("Hello, world!")); pack(); } public static void main(String[] args) { new Hello().setVisible(true); } }

    انتقادات

    الانتقادات الموجهة إلى لغة جافا تتضمن طريقة التعامل مع الأنواع العامة (Generics), السرعة, التعامل مع الأعداد الغير موجهة, التعامل مع حسابات الفاصلة المتحركة, وتاريخ الثغرات الأمنية في بيئة تشغيل جافا الرئيسية HotSpot.

    Source: wikipedia.org
    Java

    Java