الفرق بين الـ 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 و إذا كان لديك أي سؤال أو كانت لديك أي إضافة أترك لي تعليق.
5 تعليقات
بارك الله فيك
merci
شرح بسيط و مُفصل، شكرا
رهيب الله يجزاك خير
بارك الله بيكم على التقرير الجميل