المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Interperter Vs Compiler



romaissa
11-01-2013, بتوقيت غرينيتش 03:47 PM
http://www.dzbatna.com/images/icons/iconrote.gif Interperter Vs Compiler (http://www.dzbatna.com/t1653206/)




السلام عليكم ورحمة الله وبركاته
أسعد الله صباحكم / مساءكم بكل خير

اليوم سيكون درس مفصلنا بسيط، ما فيه برمجة، وانما هو عبارة عن مفهومين بحاجة للتفريق بينهم، لانه المفهوم قد لا يكون واضح للبعض بمجرد الاستماع اليه
وهو
Interpreter VS Compiler

لنبدأ، بسم الله


تقسم لغات البرمجة من حيث تنفيذ الكود code البرمجي الى قسمين رئيسيين، قسم يتم تنفيذ الكود code عن طريق Compiler وهو ما يسمى الترجمان، او عن طريق ال Interpreter وهو المترجم أيضا، من هنا، الكلمتين تقريبا متشابهتين في المعنى، لكن في الحقيقة، يوجد فرق جوهري بين الكلمتين


لغةً

Compiler: هو شي يقوم بتحويل نص من شكل الى اخر.
Interpreter: هو شي يترجم النص فور وروده، فمثلا المترجمين الذين يعملون على الترجمة مباشرة في المؤتمرات، لا يسمون translotors وانما يسموت ال interpreters

اذن الانتربرتر هي الترجمة الفورية اللحظية




هذا من ناحية اللغة.

برمجياً

الكمبايلر: يقوم بتحويل السورس كود code الى ملف تنفيذي جاهز، لمرة واحدة، ثم عند طلب تشغيل الكود code يشغل الكود code التنفيذي ولا يعيد الترجمة من البداية.

اما الInterpreter: فهو يقوم في كل مرة يطلب فيه تنفيذ الكود code، يقوم بالعمل على السورس كود code وتحويله الى لغة الالة فورا، وقد يمر بلغات اخرى وسيطة اقل درجة.

صورة توضيحية
http://web.cs.wpi.edu/%7Egpollice/cs544-f05/CourseNotes/maps/Class1/NotesImages/Topic42NotesImage1.jpg




المميزات

خصائص ال compiler:


يستهلك وقت طويل في فحص وتحليل وتحويل الكود code الاصلي الى الكود code الثنائي التنفيذي.
بعد الترجمة يتم عمل الملف التنفيذي، ويكون الملف ثنائي، تفهمه الالة.
تقوم الالة بتنفيذ الكود code الثنائي وليس الملف الأصلي.
تنفيذ الملف الثنائي سريع جدا جدا.

خصائص الInterpreter:


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


امثلة على اللغات ال compiled:
C
C++
C#
Cobol
Delphi
Pascal
Visual Basic

امثلة على اللغات ال interpreted:
PHP
ruby


لكن في النهاية الموضوع غالبا ما يكون بشكل اكبر من هيك
يعني قد يكون اكثر من مرحلة الترجمة
او يتم الاعتماد على جزء الى حد معين، وثم التحويل الى النوع الاخر
فالموضوع بحاجة الى دراسة مستفيضة للالمام بالموضوع بشكل صحيح

لكن هذا هو الفرق الجوهري الذي اردت ان اشير اليه
فإن اصبت فمن الله، وان اخطات فمني ومن الشيطان



والسلام عليكم
Hudaislam
















ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى