ما هي عيوب لغة جافا
تقسم لغات البرمجة إلى ثنائيات (Binaries) تقابل الكلمات في لغتنا، بينما صياغة الأوامر بلغة البرمجة على شكل ثنائيَّاتٍ تدعى الترجمة التَّصنيفيَّة (Compiling). كل لغة برمجة لها مكوِّناتٌ مميزةٌ عن غيرها إلا أنها تشترك ببعض التفاصيل الشائعة مثل بعض قواعد الصياغة والفواصل وما شابه ذلك. وإحدى أشهر لغات البرمجة وأكثرها شعبيَّة واستخدامًا هي لغة جافا، بسبب ميزاتها الكثيرة وخصائصها المفيدة التي تجعل بعض المبرمجين يفضلونها، إلَّا عيوب لغة جافا ـ كما غيرها من باقي اللغات ـ أمر لا يمكن إغفاله مطلقًا!
ما هي لغة الجافا
هي واحدةٌ من أشهر لغات البرمجة في العالم وساعدها على اكتساب تلك الشُّهرة أن البرامج التي تستخدم قاعدة تراميز وثنائيات جافا تعمل على العديد من أنظمة تشغيل الحواسيب مثل Windows ولينكس Linux وmacOS وذلك بسب تكيُّفها مع كافة هذه الأنظمة كونها بسيطة الترميز، وعمليَّة في مجال تدبير الذاكرة التخزينية وتجميع الملفات منتهية الصلاحية (garbage files) بالطريقة المناسبة.
إن لم يكن الحاسوب محتويًا على برنامجٍ لتكوين تراميْز وأوامر بلغة جافا وتطلب برنامج ما وجود هذا المترجم فيمكنك تنزيل برنامج الجافا هذا بشكلٍ فوريٍّ، وفي معظم الأحيان يكون هذا البرنامج هو (Java Runtime Environment). يتميز هذا البرنامج باحتوائه على إضافةٍ بسيطةٍ تُمكِّن أي متصفحٍ إنترنت من تشغيل فديوهات أو ألعاب تتطلب لغة جافا.
صمم لغة جافا جيمس غوسلينغ عام 1992، أما إصدارها فتم عام 1995 من قبل شركة Sun Microsystems ، ولاحقًا قامت شركة Oracle بشرائها و تطويرها لتصبح علامة مسجلة لها حتى الآن.
استخدامات الجافا
يمكن اعتبار الجافا مثل ملح الطعام لإمكانية استخدامها في معظم البرامج بشكلٍ عام؛ حيث تفتخر شركة أوراكل (مالكة شركة جافا) بأن مليار جهاز يستخدم أنظمة مستندة على لغة الجافا، ومعظم العمليات الحاسوبية التي تُجْرى خلف الكواليس وتطبيقات الإنترنت من الألعاب وغيرها معتمدةً على الجافا.
وإذا دققنا في منشأ تطبيقات الأندرويد واللغة الأساسية التي تنشأ منها هذه التطبيقات نجد أن معظمها يستخدم الجافا، مما أعطاها شعبيةً كبيرةً بِحُكم انتشار أجهزة الأندرويد في جميع أنحاء العالم وأصبحت بمتناول يد الصغير والكبير.
ميزات لغة الجافا
تتمتع لغة الجافا بميزات كثيرة سنذكر بعضًا منها:
- البساطة: صممت لغة الجافا لتكون سهلة الاستخدام، فهي تعتمد على التصحيح والتعلم من لغات البرمجة الأُخرى، ويعود ذلك إلى أهم ميزاتها المتمثِّلة بالقدرة على التخصيص التلقائي للذاكرة والتخلُّص التلقائي من الملفات منتهية الصلاحية.
- Platform-Independent: يعني ذلك أنه يمكن للمستخدم كتابة برنامج جافا وحفظه واستخدامه على أي جهازٍ أو متصفح إنترنت يدعم لغة الجافا مما يمنحه سهولة نقل المهام، البيانات والبرامج من كمبيوترٍ لآخر.
- تعدد العمليات (Multithreading): تعد جافا واحدة من لغات البرمجة التي تدعم تعدد العمليات (تعدد العمليات هي قدرة البرنامج على القيام بعدة مهامٍ في آنٍ واحدٍ ضمن البرنامج ذاته).
- متوفرة للجميع: هناك العديد من المواقع الموجودة على الإنترنت لتعليم لغة الجافا وهي متاحةٌ للجميع مجانًا، فلن يحتاج الشخص لدفع الكثير من التكاليف من أجل تعلم لغة الجافا.
- توفير الوقت: حيث أن كتابة برنامج بلغة الجافا أسهل وأسرع من لغة سي بلس بلس C++ فهو يتطلب تراميزًا أقل، ويوفر ضعف الوقت لأداء نفس الوظيفة.
عيوب لغة جافا
لا تخلو لغة الجافا من العيوب على الرغم من ندرتها، ولعلّ أهم عيوبها:
- الأداء (Performance): تستهلك برامج الجافا وقتًا أطول لتشغيلها بالمقارنة مع C و C++، مما يتطلب وجود معالجٌ قويٌّ وقرص تخزين سريع في نقل البيانات.
- الذاكرة: تتطلب وجود مساحة كبيرة من ذاكرة الوصول العشوائي (RAM) كي تعمل؛ حيث أن ميزة تعدد العمليات الخاصة بالجافا تؤدي لاستهلاك مساحات كبيرة من هذه الذاكرة.
- التكلفة: بما أنها تتطلب وجود ذاكرة كبيرة وأداء عالٍ للجهاز فهذا يستوجب وجود جهاز ذي مواصفات عالية من معالج وذواكر وبالتالي تكلفة مرتفعة.
- إزالة الملفات التالفة: كما ذكرنا سابقًا تحدث هذه العملية بشكلٍ تلقائيٍّ دون الرجوع إلى المستخدم، ولكن هذا ليس أمرًا جيدًا دومًا، ففي بعض الحالات يحتاج المستخدم لبعض هذه الملفات أو لاسترجاعها من أجل بيانات محددة ولكن لا يوجد خيار للاسترجاع، ولا حتى للحذف في حال أراد المستخدم حذف بعض الملفات بشكلٍ قسريٍّ، وهذا يشكل إشكالًا معتبرًا في بعض الحالات.
- غير كافية لتصميم مواقع الويب: من عيوب لغة جافا عدم تَوَفُّر قوالب (Templates) كافية للتدريب والبناء التدريجي لصفحات الويب الضخمة، وبالتالي لا يمكن بناء هذه الصفحات بالاعتماد على لغة الجافا فقط مما يضطر المستخدم لمشاركتها مع لغات برمجة أخرى.
- الأمان: يتم كتابة التراميز على جهاز المستخدم، وبالتالي عند الاتصال بالإنترنت يمكن أن يتم استغلال هذه التراميز لأغراضٍ ضارةٍ ومسيئةٍ وهذا ما يدفع أغلبية المستخدمين لإلغاء تفعيل خاصية جافا سكريبت (JavaScript).
- الاعتماد على المستخدم النهائي: وظيفة المستخدم النهائي هي تحضير البيانات للزبائن أو المستخدمين لبرامج الجافا في هذه الحالة بالتحديد، ولكنه ليس ببراعة مهندسي البرمجة، وبالتالي عندما لا يقوم بعمله بشكلٍ متقنٍ سيسبب عدم رضا الزبون أو مستخدم البرنامج، حيث أن الجافا سكريبت المكتوبة من قبل المهندسين في السيرفرات الأساسية ستعمل على كل أنواع المتصفحات وتعطي نفس البيانات، أمّا المكتوبة من قبل هؤلاء المستخدمين بشكلٍ غير متقنٍ سيختلف محتواها وطريقة عرضها من متصفحٍ لآخر.