الفرق بين compiler و interpreter ومميزات كل واحد منهما

الفرق بين الـ compiler و الـ interpreter من الأمور التي يجب أن تعرفها!

كيف تميز بين compiler و interpreter بكل سهولة ؟

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

وأنا أضمن لك أنك سوف تصبح قادر على التمييز بين الـ compiler و الـ interpreter بكل سهولة

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

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

هنا يأتي دور الـ compiler و الـ interpreter من أجل تحويل الكود سورس الذي نقوم بكتابته كمبرمجين إلى لغة الآلة التي يفهمها الكمبيوتر.

ولفهم الفرق بينهم سنتطرق إلى مميزات و طريقة عمل كل طرف على حدة 

نبدأ أولا مع الـ Interpreter:
  • يقوم بترجمة سطر سطر أو فقرة فقرة من الكود سورس
  • يستمر في ترجمة وتنفيذ البرنامج وإذا كان هناك خطأ فهو يتوقف في السطر الذي يحتوي على الخطأ أثناء عملية التنفيذ
  • يقوم بترجمة الكود سورس بسرعة لكن ينفذه ببطئ
  • سهولة تتبع الأخطاء لأن البرنامج يتوقف في مكان الخطأ مباشرة
ثانيا الـ Compiler:
  • يقوم بتحليل البرنامج بالكامل ثم يترجمه كاملا إلى لغة الآلة
  • يأخذ وقت طويل في ترجمة الكود سورس لكن ينفذه بسرعة كبيرة جدا
  • يقوم باكتشاف الأخطاء بعد عمل تحليل للبرنامج بالكامل لهذا تحديد مكان الخطأ صعب بالمقارنة مع الـ interpreter
اللغات التي تعتمد مبدأ الـ Interpreter :
  • لغة  php
  • لغة Python
  • لغة Ruby
  • لغة JavaScript
  • لغة Perl
اللغات التي تعتمد مبدأ الـ Compiler:
  • لغة c و c++
  • لغة c#
  • لغة java تجمع بين المبدأين معا وهذا هو ما يجعل البرامج التي كتبت بالجافا تشتغل في جميع أنظمة التشغيل

كان هذا كل ما يتعلق بموضوع الفرق بين الـ compiler و الـ interpreter و إذا كان لديك أي سؤال أو كانت لديك أي إضافة أترك لي تعليق.

6 تعليقات

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *