قناة علوم عظيمة على اليوتيوب

الموسوعة الحرة

جافا (لغة برمجة)

هذا المقال يخضع للمعالجة الالية من طرف كشًاف، إذا كانت لديك أي ملاحظات عليه لا تتردد في مراسلتنا.

عبر نافذة مخطه وهو يعمل في مختبرات صن ميكروسيستمز، ثم تغير الاسم إلى جافا، وهذا الاسم (على غير العادة في تسمية لغات البرمجة) ليس الحروف الأولى عبر جميعمات جملة معينة أو تعبيرًا بمعنى معين، ولكنه مجرد اسم وضعه مطورو هذه اللغة لينافس الأسماء الأخرى. أمثلة للغات البرمجة توجد لغات برمجة عديدة: إلا أنه يوجد فيها نوع عبر المجال، حيث يعتمد اختيار اللغة على المهام التي نريد عبر الحاسب إنجازها، حيث حتى لجميع لغة ما يناسبها، وهناك مهام يقاسي تطبيقها بلغة معينة ولكنها تكون ميسورة بلغة أخرى، ومن اللغات التي ظهرت في فترة الستينات لغة البيسك وهي لغات تدرس للمبتدئين، Beginners All Symbolic Instruction Code. وظهرت بعدها لغة فيجوال بيسك (التي وضعتها مايكرويفترض أنت) وهي غنية عن التعريف ولها مميزات عديدة، حيث تجمع بين سهولة لغة البيسك وتصميم برامج ذات قابلة رسومية، وأيضًا فيجوال بيسك سكريبت...
جافا (بالإنجليزية: Java)‏ هي لغة برمجة كائنية التوجه، ابتكرها جيمس غوسلينغ في عام 1992م -أثناء عمله في مختبرات شركة صن ميكروسيستمز- وذلك لاستخدامها بمثابة العقل المفكر المستخدم لتشغيل أجهزة التطبيقات الذكية مثل التليفزيون التفاعلي، وقد كانت لغة الجافا تطويرًا للغة سي ++، وعند ولادتها أطلق عليها مبتكرها "أواك" بمعنى شجرة السنديان؛ وهي الشجرة التي كان يراها عبر نافذة مخطه وهو يعمل في مختبرات صن ميكروسيستمز، ثم تغير الاسم إلى جافا، وهذا الاسم (على غير العادة في تسمية لغات البرمجة) ليس الحروف الأولى عبر جميعمات جملة معينة أو تعبيرًا بمعنى معين، ولكنه مجرد اسم وضعه مطورو هذه اللغة لينافس الأسماء الأخرى.
أمثلة للغات البرمجة
توجد لغات برمجة عديدة: إلا أنه يوجد فيها نوع عبر المجال، حيث يعتمد اختيار اللغة على المهام التي نريد عبر الحاسب إنجازها، حيث حتى لجميع لغة ما يناسبها، وهناك مهام يقاسي تطبيقها بلغة معينة ولكنها تكون ميسورة بلغة أخرى، ومن اللغات التي ظهرت في فترة الستينات لغة البيسك وهي لغات تدرس للمبتدئين، Beginners All Symbolic Instruction Code.
وظهرت بعدها لغة فيجوال بيسك (التي وضعتها مايكرويفترض أنت) وهي غنية عن التعريف ولها مميزات عديدة، حيث تجمع بين سهولة لغة البيسك وتصميم برامج ذات قابلة رسومية، وأيضًا فيجوال بيسك سكريبت التي تقدم برمجيات تعمل ضمن صفحات الإنترنت، وأيضًا لغة السي بلس بلس ذائعة الصيت، وهي لغة برمجة تم ابتكارها كتطوير للغة السي التي هي الأخرى تحسين للغة البي وهناك العشرات عبر لغات البرمجة الأخرى.
مميزات
تتميز لغة جافا بمميزات خاصة مما يجعلها أكثر لغات البرمجة إثارة؛ حيث حتى ما يميزها الآتي:
  • -السهولة.
  • -تدعم مفهوم البرمجة الشيئية (البرمجة كائنية التوجه).
  • -سهولة الحصول عليها.
  • -امنة.
  • -قابلة للنقل والتطبيق.
  • -إضافة الحركة والصوت إلى صفحات الويب.
  • -كتابة الألعاب والبرامج المساعدة.
  • -إنشاء برامج ذات قابلة مستخدم رسومية.
  • -تصميم برمجيات تستفيد عبر جميع مميزات الأنترنت. توفر لغة الجافا بيئة تفاعلية عبر الشبكة العنكبوتية وبالتالي تستعمل لكتابة برامج تعليمية للإنترنت عبر برمجيات المحاكاة الحاسوبية للتجارب الفهمية وبرمجيات الفصول الافتراضية للتعليم الإلكتروني والتعليم عن بعد. لا تنحصر فاعلية الجافا في الشبكة العنكبوتية فقط بل تمكننا عبر إنشاء برامج للاستعمال الإنساني والمهني، هذه البرامج تنجز عبر جملة عبر البرامج التي تسهل كتابة الأوامر كبرنامج نت بينز واجميعيبس.
الدراسة
حيث تتوفر أدوات البرمجة بهذه اللغة على مسقط شركة صن ميكروسيستمز، كما يمكن تحميل برامج جافا عبر مواقع إنترنت مختلفة. وهي لغة سهلة الدراسة. الإ أنها أنت بحاجة كغيرها عبر اللغات إلى تطبيق وممارسة. .تعتبر لغة جافا عبر اللغات الحديثة جداً في عالم البرمجة التي أنتجتها شركة sunmicrosystem في عام1991. .لغة جافا تناسب تطبيقات الانترنت بصفه خاصه هذا بالإضافة إلى دعم الانواع المتنوعة عبر التطبيقات مثل تطبيقات تعمل على جهاز واحد(DesktopApplication) أو تطبيقات تعمل على شبكه Client/serverApplication)).
لغات البرمجة
منخفضة المستوى
لغة الآلة لغة التجميع
عالية المستوى
البرمجة الإجرائيَّة البرمجة بالكائنات
  1. -بيسيك
  2. -سي
  1. -جافا
  2. -سي++

تتصف لغة جافا بالصفات التالية:
  • -لغة تلتزم بقواعد البرمجة الكائنية التوجه.
  • -لغة لها بيئة تشغيل خاصه بها JavaVirtualMachine(JVM) .
  • -لها مخطة فصائل ClasseLibraryكبيره وغنيه.
  • -لغه مبنية على قواعد اللغة الشهيرة سي/سي++.
  • -تعمل برامجها على جميع نظم التشغيل، حيث انها لا تعتمد على بيئة نظام التشغيل (PlatformIndependent).
متطلبات البرمجة
  • - مفسر: تتطلب بعض لغات البرمجة مفسرا يقوم بتفسير جميع سطر عبر البرنامج ويبلغ الحاسب بالمهام التي يتعين عليه القيام بها ومن هذه اللغات لغة البيسك وتتميز اللغات التي أنت بحاجة مفسرا بسهولة اختبارها ولكن يعيبها أنها تكون بطيئة عند تشغيلها.
  • - مترجم: يحتاج البعض الآخر عبر لغات البرمجة مترجمًا يقوم بترجمة البرنامج وتحويله إلى شجميع يفهمه الحاسب، وتتميز البرامج المترجمة بسرعة تشغيلها ولكن يعيبها الحاجة إلى وقت أطول لاختبارها، حيث يخط البرنامج ثم يترجم ثم يجرب وفي حالة وجود أخطاء يجب تسليمها أولًا ثم يعاد ترجمته ومن ثم تجريبه للتحقق عبر زوال الخطأ، ولغة جافا لغة فريدة تتطلب مترجمًا ومفسرًا.
المتطلبات اللازمة لكتابة برنامج بلغة جافا
  1. - عدة تطوير جافا :
تعتبر هذه الأداة الأولى التي وضعها مطوروا جافا بشركة صن ميكروسيستمز، ورغم وجود أدوات برمجة أخرى عبر عدة شركات منافسة؛ إلا أنه عبر الأفضل حتى نأخذ الأمر ممن طوره وهذه الأداة قد صدرت في عدة إصدارات ويمكن تحميل هذه الأدوات عبر مسقط صن ميكروسيستمز.
  1. - محرّر نصوص لكتابة المصدر : كبرنامج المفكّرة والأفضل برنامج نوتباد++ أو واحدة عبر بيئات التطوير. يفضّل الأغلبيّة بيئات التطوير الحرّة بالأخصّ إجميعبس و نت بينز.
سبب نَيل جافا الشهرة والاهتمام العالمي
في أوائل التسعينيات عبر القرن العشرين 1990م اختُرعت لغة جافا على يد شركة صن ميكروسيستمز ولهذا الاختراع سيرة عجيبة، حيث حتى الشركة كانت قبل ذلك قد جميعفت المهندس جيمس غوسلينغ بوضع برامج لتشغيل الأجهزة التطبيقية الذكية (مثل التيلفزيون التفاعلي) باستخدام لغة سي++، وحينها عثر جيمس جوزلينج صعوبة في التعامل مع هذه اللغة، فقام هو وفريق العمل المساعد له بتطوير هذه اللغة فولدت لغة جديدة تتوافق مع احتياجاته فكانت لغة جافا، وقد خططت شركة صن في تلك الأيام لاستغلال هذه اللغة الوليدة في التيلفزيون التفاعلي لكي تربح المليارات، وحدث نوع عبر البطء في مشروع التلفزيون التفاعلي ــ من الممكن عن قصد عبر الشركات الأخرى المنافسة ــ ونتيجة لذلك فكرت شركة صن في توقيف مشروع تطوير هذه اللغة الوليدة وتسريح العاملين في هذا المشروع أو نقلهم إلى قسم آخر، ولكن سقط ما لم يكن في الحسبان حيث أنه في هذه الفترة كانت شبكة الإنترنت قد بدأت في الانتشار بسرعة مذهلة مع نزول نظام ويندوز للأسواق، وحيث حتى لغة جافا الوليدة التي اخترعت أصلًا لبرمجة الأجهزة التطبيقية فيها عبر السمات ما يجعلها أكثر توافقًا مع الشبكة العنكبوتية الدولية ـ الإنترنت ـ، فقد كان لها السبق وأضافت الكثير إلى الإنترنت (الذي كان قبلها مقصورًا على تبادل النصوص)، ولكن المطورين بشركة صن ابتكروا طريقة تجعل برامج جافا تعمل بسهولة في صفحات الإنترنت، وغيروا الاسم الذي كان قد أطلقه عليه مبتكرها عبر أواك (شجرة السنديان) إلى جافا، ومن هنا أصبحت جافا مرتبطة في شهرتها بالإنترنت حيث حتى برنامج جافا صغير يوضع في صفحة عبر صفحات مسقط على الشبكة الدولية يراه الملايين في جميع أنحاء العالم في نفس الوقت، وقد كان هذا لا يتوفر الا مع جافا مما أعطاها شهرة واسعة، ولحسن حظ شركة صن حتى لغة جافا أكدت نفسها في المجال الذي طورت له أصلًا، فقد بدأ الآن التيلفزيون التفاعلي في الانتشار وما يسمى سينما المنزل والمشاهدة حسب الطلب، وليس هذا فقط؛ بل انتشر هل تعلم ماذا يعني أكثر فائدة لشركة صن وهو الهاتف المحمول، وللجافا أكبر دور في برمجة البرامج التي يعمل بها في أجياله السابقة واللاحقة، ولا نستغرب حتى يحدث نوع عبر الغيرة بين شركة ميكرويفترض أنت وشركة صن ميكروسيستمز مما دفع ميكرويفترض أنت إلى حتى تحذف ماكينة جافا الافتراضية عبر الاصدارالأول لويندوز اكس بي، وهذه الماكينة الافتراضية مسؤولة عن عرض برامج الجافا على الإنترنت، ولكن ميكرويفترض أنت تراجعت أمام طلب ملايين المستخدمين حول العالم فوضعتها مرة ثانية في الإصدارات اللاحقة، وقد كانت قضية مشهورة تناولتها الصحف والمجلات خلال العام الماضي.
وقد ساهم في شهرة الجافا أيضا برامجها الفهمية التفاعلية التي تصلح لمعظم المناهج التعليمية في جميع مراحل التعليم، وبالتالي فإذا لها دورًا كبيرًا في التعليم الإلكتروني والتعليم عن بعد والفصول الافتراضية.
جافا هي لغة برمجة عبر شركة صن ميكروسيستمز. الهدف الأساسي لنشأة جافا هو إيجاد لغة مشابهة للغة سي+ + عبر حيث الهجريب النحوي، وكذلك برمجة كائنية التوجه، ومصممة للعمل علي اّلة افتراضية بحيث لا أنت بحاجة إلي الترجمة عبر حديث عند استخدام برامجها على منصة تشغيل أو نظام تشغيل جديد، حيث قامت شركة صن بإنشاء الاّت افتراضية لتشغيل جافا على معظم منصات ونظم التشغيل الموجودة حاليا، فأصبح على الأرجح ترجمة البرنامج مرة واحدة ثم تشغيله على نظم مختلفة أو ما أسمته صن ب اخط مرة واحدة، شغل في أى مكان (بالإنجليزية: Write Once, run anywhere)‏.
بين نوفمبر 2006 ومايو 2007 تم فتح المصدر لهذه اللغة وأصبحت مصدر مفتوح تحت ترخيص جنو.
سميت لغة الجافا عبر قهوة الجافا (الجاوة) التي تغرس في جزيرة جاوا، قد تطورت عبر مشروع كان يسمى أوك (بلوط) (من شجر البلوط الذي كان موجودًا خارج نافذة غوسلينغ).
ملاحظة: يجب عدم الخلط بين "جافا" و "جافا سكريبت". فرغم تشابة اللغتين في السياق والتراكيب، إلا أنهما لغتان مختلفتان ولهما أهداف مختلفة.
نظرة تاريخية
بدأت جافا كمشروع يدعي أوك (البلوط) Oak (جائت التسمية عبر شجرة بلوط كانت تقف خارج مقر شركة صن ميكروسيستمز) عن طريق الأب الروحي للجافا جيمس غوسلينغ في يونيو عام 1991 م لكي تستخدم في مشروع Set Top Box.
وكان هدف المشروع خلق لغة برمجة تعمل على ايّ جهاز صغير، خلال فترة صغيرة تغيرت أهداف المشروع وتغير المشروع نفسه إلى جافا وقد اصدر الإصدار الأول منها عام 1995 م. كان الإصدار الأول عبر جافا يهتم بتوفير إمكانية خلق برمجيات الويب (التي تعمل في متصفح الإنترنت) وخلال وقت وجيز أصبحت معظم متصفحات الإنترنت تدعم الجافا بسبب الإمكانيات العالية والثبات والأمان التي وفّرت لهم في تلك الفترة.
في عام 1998 م تم تطوير جافا بشجميع جذري وأصبحت تسمى جافا2، ومن أبرز التطويرات التي وضعت في هذا الإصدار هي إمكانيات جافا في القابلة الرسومية للمستخدم. عبر ثم كان هنالك الكثير عبر التطويرات لهذه اللغة التي لا يزال تطويرها مستمرًا، وخلال السنين تطورت جافا وأصبحت تستعمل ل برامج مخطية، برمجيّات الإنترنت، صفحات إنترنت، تطبيقات أجهزة الجوال وغيرها الكثير.
مبادئها
الأهداف الأساسية
  • - كائنية التوجه.
  • -الاستقلال عن نظام التشغيل.
  • -توفر إمكانيات ومخطات للتشبيك.
  • -توفر إمكانية تشغيل البرامج المكتوبة بها عبر حواسيب بعيدة وبشجميع آمن.
  • -توفير إمكانية إضافة برامج إلى صفحات الويب (أبلت).
  • -كوت بو 6.
منصة جافا
الإصدارات المتوفرة عبر الجافا
Java SE
الإصدار القياسي عبر الجافا بالإنجليزية (Java Standard Edition) هو الجزء الخاص ببرمجة برامج سطح المخط (StandAlone applications).
Java EE
اصدار الإنتربرايس بالإنجليزية (Java Enterprise Edition)هو يختلف عن الإصدار القياسي في أنه خاص ببرمجة الخوادم والتطبيقات الموزعة وبرمجة الويب.
Java ME
اصدار المايكرو بالإنجليزية (Java Micro Edition) وهو إصدار خاص بالبرمجة على الهواتف المحمولة والأجهزة المحدودة في المصادر عموما وتعتبر الخيار الأول لمبرمجي ألعاب الهواتف المحمولة.
Java Fx
تقنيّة أخرى اصدرتها صن ميكروسيستمز لتطوير تطبيقات عبر نوع "RIA" أي "Rich Internet Applications".
بيئات تطوير متتامة (IDE)
المبرمجون والمطورون بلغة جافا يمكنهم الاختيار عبر بين عدة بيئات تطوير متتامة لتسهيل عملهم.
بيئات حرة
  • - نت بينز، عبر شركة صن مايكروسيستمز (تحميل البرنامج).
  • - إجميعيبس، عبر مجتمع البرمجيات الحرة (تحميل البرنامج).
  • -DrJava، عبر جامعة رايس.
بيئات مملوكة
  • - جيه بيلدر، عبر شركة كود جير.
  • - ويب سفير، عبر شركة آي بي إم.
  • - إنتيليج إيديا، عبر شركة جت برينز.
  • - جيه ديفيلوبر، عبر شركة أوراجميع.
  • - جيه كرييتر، عبر شركة زينوكس.
الهجريبة اللغوية للجافا (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 عن طريق العنصر كما يلي:
"http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello World Applettitle> 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.
مراجع
  1. ^ https://www.oracle.com/corporate/pressrelease/Java-ر-032018.html — تاريخ الاطلاع: 24 يونيو 2018
  2. ^ . مؤرشف عبر الأصل في 14 ديسمبر 2019.
  3. ^ JavaFX (ويكيبيديا بالإنجليزيّة)
  4. ^ يا ترى؟(إنجليزي) نسخة محفوظة 25 نوفمبر 2016 على مسقط واي باك مشين.
  5. ^ "Generics Considered Harmful | Java.net". 20ش-0ج-26. مؤرشف عبر الأصل في 27 مارس 2020. اطلع عليه بتاريخ 03 يناير 2017.
  6. ^ "Why Java is Slow". 201خ-0ذ-31. مؤرشف عبر الأصل في 27 مارس 2020. اطلع عليه بتاريخ 03 يناير 2017.
  7. ^ "Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)". darksleep.com. مؤرشف عبر الأصل فيثمانية يناير 2019. اطلع عليه بتاريخ 03 يناير 2017.
  8. ^ How Java’s Floating-Point Hurts Everyone Everywhere عبر Prof. W. Kahan and Joseph D. Darcy في جامعة برجميعي نسخة محفوظة 04 مارس 2016 على مسقط واي باك مشين.
  9. ^ "Have you checked the Java ". Microsoft Malware Protection Center. مؤرشف عبر الأصل في 16 أكتوبر 2015. اطلع عليه بتاريخ 03 يناير 2017.
وصلات خارجية
  • -المسقط الرسمي
Light Bulb Icon.svg
جافا في المشاريع الشقيقة

  • - Commons-logo.svgصور وملفات صوتية عبر كومنز
  • - Wikibooks-logo.svgخط عبر ويكي الخط
Light Bulb Icon.svg
جافا (لغة برمجة) على مواقع التواصل الاجتماعي

  • - Twitter bird logo 2012.svgجافا (لغة برمجة)  على تويتر.
  • - Quora icon.svgجافا (لغة برمجة)  على كورا.
السابق
كانيم إيكيدا
التالي
ديف كنودسون

0 تعليقات

أضف تعليقا

اترك تعليقاً