عيوب لغات البرمجة عالية المستوى

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

التجريد

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

فيديو اليوم

سرعة

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

خصائص النظام

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

حدود البرمجة

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