هناك طرق عديدة للتمييز بين لغات البرمجة. كبداية ، يقعون في نماذج مختلفة: وظيفية ، وجوه المنحى ، وأكثر من ذلك.

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

ما هي الترجمة؟

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

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

ما هو المترجم؟

المترجم هو برنامج يحول التعليمات البرمجية المصدر المكتوبة بلغة عالية المستوى إلى كود منخفض المستوى للتنفيذ.

يمثل الرسم البياني أعلاه المترجم في أبسط أشكاله. للمترجم عدة مراحل. كل مرحلة تحول الكود من حالة إلى أخرى. الهدف من كل مرحلة من مراحل المترجم هو إنشاء إخراج يسهل معالجته في المرحلة التالية. الهيكل العام للمترجم هو كما يلي:

instagram viewer

  • الماسح الضوئي: تأخذ هذه المرحلة دفقًا من الأحرف وتجمعها في رموز مميزة تمثل المعرفات والحرف اليدوية للسلسلة وما إلى ذلك.
  • المحلل اللغوي: تقوم هذه المرحلة بتجميع الرموز المميزة بناءً على قواعد لغة البرمجة المصدر. يقوم بإنشاء شجرة بناء جملة مجردة وهي عبارة عن مجموعة من التعبيرات التي يتكون منها البرنامج.
  • الدلالات: تجري هذه المرحلة تحليلاً دلاليًا على شجرة التركيب المجردة (AST). يستخدم قواعد اللغة المصدر لإضافة معنى عن طريق تعيين أنواع لتعبيرات AST والتحقق من صحتها. ثم يصبح AST تمثيلًا وسيطًا.
  • التمثيل الوسيط (IR): تقوم هذه المرحلة بتحويل الكود المصدري للبرنامج الأصلي إلى كود الآلة. ينتج نسخة مبسطة من كود التجميع. يستخدم IR مُحسِّنًا واحدًا أو أكثر لتحسين كود IR ولجمع المعلومات للجهاز الذي يعمل عليه. يمكن للمُحسِّن أن يجعل البرنامج أكثر كفاءة أو أسرع أو حتى أصغر.
  • مولد الكود: تستهلك هذه المرحلة كود الأشعة تحت الحمراء المحسن وتحولها إلى كود آلة.

ما هي لغات البرمجة التي تستخدم المجمعين؟

تتضمن بعض لغات البرمجة المترجمة الشائعة ما يلي:

  • ج
  • سي ++
  • يذهب
  • آدا
  • فورتران
  • كوبول
  • لثغة
  • ج موضوعية
  • سويفت

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

يتم تنفيذ اللغات المجمعة أيضًا بسرعة كبيرة بعد تجميعها.

ما هو المترجم؟

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

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

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

ما هي لغات البرمجة التي تستخدم المترجمين الفوريين؟

تتضمن بعض لغات البرمجة المفسرة الشائعة ما يلي:

  • بايثون
  • جافا سكريبت
  • بيرل
  • ماتلاب
  • أساسي

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

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

ما هي الترجمة الهجينة؟

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

قد تختلف الترجمة الهجينة من لغة برمجة إلى أخرى ولكنها ستستخدم هذا الهيكل العام. تعد Java واحدة من أكثر لغات البرمجة شيوعًا التي تستخدم الترجمة المختلطة. مترجم جافا يترجم كود المصدر الخاص به إلى Java Virtual Machine (JVM) bytecode. يقوم المترجم بعد ذلك بترجمة كود JVM bytecode إلى كود الجهاز.

ما هي لغات البرمجة التي تستخدم الترجمة الهجينة؟

تتضمن بعض لغات البرمجة الهجينة الشائعة ما يلي:

  • جافا
  • سي #
  • البصرية الأساسية
  • إرلانج
  • F#

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

قيمة معرفة طرق الترجمة المختلفة

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

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

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