لغات البرمجة المترجمة مقابل لغات البرمجة المجمعة: ما الفرق؟

كل برنامج عبارة عن مجموعة من التعليمات سواء كانت لإضافة رقمين أو إرسال طلب عبر الإنترنت. المترجمون والمترجمون الفوريون يأخذون كودًا يمكن قراءته من قبل الإنسان ويحولونه إلى كود آلة يمكن قراءته بالكمبيوتر

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

حسنًا ... ولكن ماذا يعني ذلك في الواقع ؟

تخيل أن لديك وصفة من الحمص تريد صنعها ، لكنها مكتوبة باليونانية القديمة. هناك طريقتان يمكنك من خلالك ، بصفتك متحدثًا غير يوناني قديم ، اتباع توجيهاته.

الأول هو إذا قام شخص ما بالفعل بترجمتها إلى الإنجليزية من أجلك. يمكنك (وأي شخص آخر يتحدث الإنجليزية) قراءة النسخة الإنجليزية من الوصفة وصنع الحمص. فكر في هذه الوصفة المترجمة كنسخة مجمعة .

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

اللغات المترجمة

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

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

أمثلة على اللغات المترجمة الخالصة هي C و C ++ و Erlang و Haskell و Rust و Go.

اللغات المترجمة

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

كانت اللغات المترجمة ذات يوم أبطأ بكثير من اللغات المترجمة. ولكن مع تطوير التجميع في الوقت المناسب ، تتقلص هذه الفجوة.

من أمثلة اللغات المفسرة الشائعة PHP و Ruby و Python و JavaScript.

تحذير صغير

يمكن أن تحتوي معظم لغات البرمجة على تطبيقات مُترجمة ومُفسرة - فاللغة نفسها ليست بالضرورة مُترجمة أو مفسرة. ومع ذلك ، من أجل البساطة ، عادة ما يشار إليهم على هذا النحو.

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

المميزات والعيوب

مزايا اللغات المترجمة

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

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

أبرز العيوب هي:

  • يلزم وقت إضافي لإكمال خطوة التجميع بالكامل قبل الاختبار
  • اعتماد النظام الأساسي للرمز الثنائي الذي تم إنشاؤه

مزايا اللغات المفسرة

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

مساوئ اللغات المفسرة

العيب الأبرز هو سرعة التنفيذ النموذجية مقارنة باللغات المترجمة.