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

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

ِCompiler

 المترجم في لغات البرمجة

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

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

ولكن عند عرض نفس البرنامج على المعالج لن يؤدي لأي نتيجةٍ مشابهة: الحروف والرموز والتعابير المكتوبة باللغة الإنجليزية هي أمور مستحيلة الفهم بالنسبة للمعالج بشكلٍ مباشر، فهو يفهم لغة وحيدة: اللغة الثنائية المؤلفة من سلاسل الأصفار والواحدات.

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

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

وبالتالي فالمحوّل البرمجي أو المترجم بلغتنا العربية، المعروف بالـ Compiler، هو برنامج يقوم بتحويل وترجمة برنامج مكتوب بلغة من المستوى العالي ( High-level language التي تكون سهلة الفهم للإنسان لكن الآلة لا تفهمها بشكل مباشر ) وتحويلها إلى لغة ذات مستوى منخفض ( Low-level language التي تكون مفهومة للآلة لكنها معقدة الفهم بالنسبة للإنسان ) وتسمى لغة الآلة أو Machine Language.

 

 الفرق بين ( Compiler و Interpreter )

 

أولا Interpreter:

يقوم بالترجمة أو التحويل سطراً بسطر أو فقرة فقرة من التعليمات البرمجية ضمن البرنامج.

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

يقوم بترجمة التعليمات البرمجية بسرعة لكن ينفذها ببطئ.

سهولة تتبع مكان الأخطاء لأن البرنامج يتوقف في مكان الخطأ مباشرة.

ثانيا Compiler:

يقوم بتحليل البرنامج بالكامل ثم يترجمه كاملاً إلى لغة الآلة مباشرة.

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

يقوم باكتشاف الأخطاء بعد عمل تحليل للبرنامج بالكامل لهذا تحديد مكان الخطأ صعب بالمقارنة مع interpreter.

اللغات التي تعتمد مبدأ Interpreter :

  • لغة php
  • لغة Python
  • لغة Ruby
  • لغة JavaScript
  • لغة Perl

اللغات التي تعتمد مبدأ Compiler:

  • لغة c و c++
  • لغة c#
  • لغة java ( تجمع بين المبدأين معاً ، وهذا ما يجعل من البرامج المكتوبة بلغة الجافا تعمل على كافة أنظمة التشغيل المختلفة ).


نتمنى أن يكون هذا المقال أشبع نهم المعرفة لديكم بما يخص الفرق بين المترجمات في لغات البرمجة.

لاتترددوا في ترك استفساراتكم حول هذا الموضوع أسفل هذا المقال.

تابعنا على تيليجرام

انضم إلى قناة Telegram الخاصة بنا للحصول على أحدث الاخبار!

المتابعون