What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا سلبياتها وإيجابياتها ؟

What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا  سلبياتها وإيجابياتها ؟


What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا  سلبياته وإيجابياتها ؟

أولا ماهي مميزات وايجابيات لغة البرمجة جافا؟

كان الهدف الأساسي لإنشاء لغة برمجة جافا Java هو جعلها لغة برمجة محمولة وبسيطة وآمنة.  بصرف النظر عن هذا ، هناك أيضًا بعض الميزات الممتازة التي تلعب دورًا مهمًا في شعبية هذه اللغة.  تُعرف ميزات جافا Java أيضًا باسم java buzzwords.

 فيما يلي قائمة بأهم ميزات لغة جافا.

  1. بسيطة
  2.  كائنية التوجه 
  3.  محمول
  4.  منصة مستقلة
  5.  آمنة 
  6.  قوية
  7.  الهندسة المعمارية محايدة
  8. تمتلك مترجم
  9.  أداء عالي
  10.  متعددة المعالجة 
  11.  موزعة
  12.  ديناميكية

1 بساطة لغة جافا Simple 

من السهل جدًا تعلم جافا Java ، كما أن تركيبها بسيط ونظيف وسهل الفهم.  وفقًا لـ Sun ، تعد لغة جافا Java لغة برمجة بسيطة للأسباب التالية:

 يعتمد بناء جملة جافا Java على C ++ (لذلك من السهل على المبرمجين تعلمها بعد C ++).
 قامت جافا Java بإزالة العديد من الميزات المعقدة والنادرة الاستخدام ، على سبيل المثال ، المؤشرات الصريحة ، التحميل الزائد على المشغل ، إلخ.
 ليست هناك حاجة لإزالة الكائنات غير المشار إليها نظرًا لوجود مجموعة الإزالة التلقائية garbage collection في جافا Java.

2  كائنية التوجه Object-oriented

Java جافا هي لغة برمجة موجهة للكائنات.  كل شيء في Java جافا هو كائن.  يعني التوجه الكينوني أننا ننظم برنامجنا كمزيج من أنواع مختلفة من الكائنات التي تدمج البيانات والسلوك.
 البرمجة الشيئية (OOPs) هي منهجية تبسط تطوير البرمجيات وصيانتها من خلال توفير بعض القواعد.
 المفاهيم الأساسية لـ OOPs هي:
Object كائن
Class فئة
Inheritance الوراثة 
Polymorphism متعددة الأشكال او تعاظم الأشكال 
Abstraction المجردة او التجريد
Encapsulation الكبسلة 

3  الاستقلال عن المنصة Platform Independent

الاستقلال عن المنصة Platform Independent

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

 هناك نوعان من الأنظمة الأساسية القائمة على البرامج والقائمة على الأجهزة.  توفر  جافا Java منصة قائمة على البرامج.

 يختلف نظام جافا Java الأساسي عن معظم الأنظمة الأساسية الأخرى بمعنى أنه نظام أساسي قائم على البرامج يعمل فوق الأنظمة الأساسية الأخرى القائمة على الأجهزة.  يتكون من مكونين:
  •   بيئة تعمل وقت التشغيل runtime 
  •  API (واجهة برمجة التطبيقات)
 يمكن تشغيل كود جافا Java على أنظمة أساسية متعددة ، على سبيل المثال ، Windows و Linux و Sun Solaris و Mac / OS وما إلى ذلك.  هذا الرمز الثانوي هو رمز مستقل عن النظام الأساسي لأنه يمكن تشغيله على أنظمة أساسية متعددة ، أي الكتابة مرة واحدة والتشغيل في أي مكان (WORA).

4 أمنة Secured

تشتهر جافا Java بأمانها.  باستخدام جافا Java ، يمكننا تطوير أنظمة خالية من الفيروسات. جافا Java مؤمنة للأسباب التالية:
  •  لا يوجد مؤشر صريح
  •  تعمل برامج Java داخل صندوق حماية للجهاز الظاهري
4 أمنة Secured

  • Classloader: Classloader في Java جافا هو جزء من Java Runtime Environment (JRE) والذي يستخدم لتحميل فئات جافا Java في Java Virtual Machine ديناميكيًا.  يضيف الأمان عن طريق فصل الحزمة لفئات نظام الملفات المحلي عن تلك التي يتم استيرادها من مصادر الشبكة.
  •  Bytecode Verifier: يتحقق من أجزاء التعليمات البرمجية بحثًا عن رمز غير قانوني يمكن أن ينتهك حق الوصول إلى الكائنات.
  •  مدير الأمان: يحدد الموارد التي يمكن للفئة الوصول إليها مثل القراءة والكتابة على القرص المحلي.
  •  توفر لغة جافا Java هذه الأوراق المالية بشكل افتراضي.  يمكن أيضًا توفير بعض الأمان بواسطة مطور التطبيق بشكل صريح من خلال SSL و JAAS والتشفير وما إلى ذلك.

5 قوية Robust

القوة تعني ببساطة القوة.  جافا قوية للأسباب التالية:

 يستخدم إدارة ذاكرة قوية.
 هناك نقص في المؤشرات التي تتجنب المشاكل الأمنية.
 هناك مجموعة تلقائية للقمامة في جافا تعمل على Java Virtual Machine للتخلص من الكائنات التي لم يعد يستخدمها تطبيق Java بعد الآن.
 هناك معالجة استثناء وآلية فحص النوع في جافا Java.  كل هذه النقاط تجعل جافا قوية.

6 هندسة معمارية محايدة Architecture-neutral

تعد Java جافا معمارية محايدة نظرًا لعدم وجود ميزات تعتمد على التنفيذ ، على سبيل المثال ، حجم الأنواع الأولية ثابت.
 في برمجة C ، يشغل نوع البيانات int 2 بايت من الذاكرة لمعمارية 32 بت و 4 بايت من الذاكرة لبنية 64 بت.  ومع ذلك ، فإنها تشغل 4 بايت من الذاكرة لكل من معماريات 32 و 64 بت في جافا Java.

7 محمولة Portable 

Java جافا محمولة لأنها تسهل عليك حمل Java bytecode إلى أي نظام أساسي.  لا يتطلب أي تنفيذ.

8 الأداء العالي High Performance 

تعد جافا Java أسرع من لغات البرمجة التقليدية الأخرى لأن كود Java bytecode "قريب" من الكود الأصلي.  لا تزال أبطأ قليلاً من اللغة المترجمة (على سبيل المثال ، C جافا ++).  Java هي لغة مفسرة وهذا هو سبب كونها أبطأ من اللغات المترجمة ، على سبيل المثال ، C ، C ++ ، إلخ.

9 موزعة Distributed 

يتم توزيع Java جافا لأنها تسهل على المستخدمين إنشاء تطبيقات موزعة في جافا Java.  يتم استخدام RMI و EJB لإنشاء التطبيقات الموزعة.  تتيح لنا ميزة جافا Java هذه الوصول إلى الملفات عن طريق استدعاء الطرق من أي جهاز على الإنترنت.

10 متعدد المعالجة او المهمات  Multi Thearding

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

11 الديناميكية Dynamic

جافا لغة ديناميكية.  يدعم التحميل الديناميكي للفئات.  هذا يعني أن الفئات يتم تحميلها عند الطلب.  كما أنه يدعم وظائف من لغاته الأصلية ، مثل C و C ++.
 تدعم جافا Java الترجمة الديناميكية وإدارة الذاكرة التلقائية (جمع البيانات المهملة).

12 تمتلك مترجم Interpreted

لغة تفسير هي نوع من لغة البرمجة التي تنفذها معظم تطبيقاتها التعليمات مباشرة وحرية التحويل، دون تجميع برنامج في سابقا في تعليمات لغة الماكينات. ... يتم تجميع Java و C # في bytecode، اللغة الافتراضية الصديقة للآلات.

ثانيا ما هي عيوب وسلبيات جافا

  • الأداء
 Java  جافا هي تستهلاك الذاكرة أبطأ بشكل كبير من اللغات التي تم تجميعها أصلا مثل C أو C ++.
  • انظر واشعر
 النظرة الافتراضية للتطبيقات GUI المكتوبة في Java باستخدام مجموعة أدوات Swing مختلفة تماما عن التطبيقات الأصلية.
  • لغة واحدة النموذج
تمت إضافة الواردات الثابتة في Java 5.0. يتم استيعاب النموذج الإجرائي أفضل من الإصدارات السابقة من Java.
  • إدارة الذاكرة
في Java ، تتم إدارة الذاكرة من خلال جمع البيانات المهملة ، فعند تشغيل أداة تجميع البيانات المهملة ، فإنها تؤثر على أداء التطبيق.  هذا لأنه يجب إيقاف جميع مؤشرات الترابط الأخرى الموجودة للسماح لمؤشر تجميع البيانات المهملة بالعمل.