الأحد، 21 سبتمبر 2014

الفرق بين compiler و interpreter :

الفرق بين compiler و interpreter :


- اولا الاتنين تقريبا يقومون بنفس الوظيفة وهي تحويل البرنامج الكتوب ب high level language الى كود
 مكتوب بلغة اﻵلة

والاختلاف بينهم يتمثل في النقاط التالية :

- الكومبايلر يقوم بتحويل البرنامج مرة واحدة بينما الانتربرتر يقوم بتحويل البرنامج سطر سطر 

- الكومبايلر يأخذ وقت طويل في تحويل البرنامج لكود بلغة اﻵلة بينما يتم تنفيذ الكود فعليا على الكمبيوتر 
في وقت قصير , على العكس من الانتربرتر حيث يأخذ وقت قصير نسبيا في تحويل البرنامج للغة اﻵلة بينما وقت تنفيذ البرنامج على الكمبيوتر طويل نسبيا

- ينتج عن الكومبايلر ملف يدعى ( intermediate object code ) [هو ليس له علاقة بالoop ] ويتطلب 
عمليات ربط الملفات ببعضها اذا كان هناك اعتماديات كما انه يأخذ كبير من الذاكرة , بينما الانتربرتر لا يقوم 
بانتج هذا الملف ويدير الذاكرة بطريقة جيدة 

- في الكومبايلر رسائل الخطأ تظهر مرة واحدة في نهاية تحويل البرنامج وبالتالي يكون من الصعب عملية 
اصلاح الاخطاء , على عكس الانتربرتر حيث يتوقف عن العمل عند ظهور اول خطأ ويستكمل العمل بعد 
اصلاحه وبالتالي من السهل اصلاح اخطاؤه

- اللغات التي تستخدم الكومبايلر مثل C, C++

- بينما اللغات التي تستخدم الانتربرتر مثل python, ruby, php, javascript

ملحوظة : هناك بعض الباكيجات التي توفر كومبايلر للغة php


ليست هناك تعليقات:

إرسال تعليق

جميع الحقوق محفوظة 2014 مـصمــم©
ِatef gad