x32x01
  • بواسطة x32x01 ||
خلينا نتفق إن الاتنين بيأدوا نفس الوظيفة وهي :
Both Compiler and Interpreter convert the Source Code to Machine Code

تعالوا بقا نتعمق شوية ونفهم الفروق بالتفصيل
• Compiler:
في البداية، الـ compiler بيشغل البرنامج ويحلل الكود كلة مرة واحدة، ولو فيه أي أخطاء بيظهرها، لو مفيش أخطاء بيحول الـ source code لـ Machine Code وبعد كده بيحفظ الكود علي الكمبيوتر وبيشغل البرنامج بس بياخد وقت في اول مرة نشغل البرنامج فيها بس بعد كدة بيشتغل بشكل اسرع ، وهنا تيجي فايدة حفظ الكود إنه لما نجي نشغل البرنامج تاني يشتغل أسرع.

طيب لو عدلنا أي حاجة في الكود، الـ compiler بيبدأ من الأول بنفس الخطوات: يشغل البرنامج، يحلل الكود كلة مرة واحدة ، يتأكد إنه مفيش أخطاء، لو مفيش أخطاء، يحول الـ source code لـ Machine Code ويحفظ الكود من جديد ، ودي بعض اللغات اللي تعتمد علي الـ compiler : C, C++, C#, etc...

• Interpreter:
في البداية، الـ Interpreter بيشغل البرنامج ويحلل الكود سطر سطر. لو مفيش خطأ في السطر اللي هو فية ، بيحول الـ source code لـ Machine Code وينفذ الكود بتاع السطر اللي واقف فية، وبعدين ينقل للسطر اللي بعده ويكرر نفس العملية.

لو قابل أي خطأ، بيظهره ويرجع يقرا الكود من الأول بنفس النظام. الـ Interpreter ما بيحتفظش بنسخة من الكود على الكمبيوتر، وكل مرة بيقرا الكود كأنه لسه كاتبه لأول مرة، على عكس الـ compiler اللي بيحتفظ بنسخة من الكود على الكمبيوتر ، ودي بعض اللغات اللي تعتمد علي الـ Interpreter Python , Ruby , Perl, etc...

دلوقتي بعد ما فهمنا الفرق بينهم بشكل كويس، خلينا نجاوب على سؤالين مهمين؟
• أيهما أفضل؟
لو عندك برامج بتحتاج أداء عالي زي الألعاب الكبيرة أو تطبيقات بتطلب كفاءة في الأداء، يبقى الأفضل تستخدم الـ compiler.
أما لو عايز تطور بسرعة وتختبر الكود بسهولة، أو بتشتغل على تطبيقات سكربتات، فـ الـ interpreter يكون أحسن.
في الآخر، الاختيار بيرجع لطبيعة المشروع ومتطلبات الأداء والتطوير.
• أيهما أسرع؟
الـ Interpreter أسرع في البداية لأنه بيبدأ يشغل الكود سطر بسطر على طول، من غير ما يحتاج وقت طويل لتحويله. لكن لما يكون البرنامج جاهز ومترجم بالفعل (يعني استخدمنا الـ compiler)، يبقى تشغيل البرنامج يكون أسرع بكتير من البرنامج اللي بيشتغل باستخدام الـ interpreter، لأن الكود بيكون جاهز للتنفيذ على طول.
 
  • بواسطة x32x01 ||
سؤال أنترفيو. أيه الفرق بين Compiler vs Interpreter ؟
 سؤال أنترفيو. أيه الفرق بين Compiler vs Interpreter ؟
 
التعديل الأخير:
الوسوم : الوسوم
compiler interpreter

الدخول أو التسجيل السريع

نسيت كلمة مرورك؟

آخر المشاركات

أحدث المنتجات

إحصائيات المنتدى

المواضيع
1,424
المشاركات
1,587
أعضاء أكتب كود
174
أخر عضو
omega-tron
عودة
أعلى