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)©
السلام عليكم ورحمة الله وبركاته
أسعد الله صباحكم / مساءكم بكل خير
اليوم سيكون درس مفصلنا بسيط، ما فيه برمجة، وانما هو عبارة عن مفهومين بحاجة للتفريق بينهم، لانه المفهوم قد لا يكون واضح للبعض بمجرد الاستماع اليه
وهو
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)©