• 0
نور4

الفرق بين المترجم والمفسر ؟؟؟

سؤال

السلام عليكم والرحمه

::

::

::

اهلن بأعضاء الفريق العربي للبرمجه .. يسرني ان اكون عضوه جديده بينكم ..وأتمنى افادتي بخصوص هذا السؤال :

* مالفرق بين المترجم والمفسر ؟

::

::

::

شاكره ومقدره تعاونكم

أختكم / نور

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

باختصار

المترجم يحول البرنامج المكتوب من لغة الى اخرى - مثلا من C الى لغة الألة

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

والسلام عليكم ورحمة الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكووور أخوي ..

بس انا أفضل الاسهاب وليس الاختصار ..

لاني أريد عمل بحث متكامل بخصوص هذا الموضوع ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ,,

بس انا أفضل الاسهاب وليس الاختصار ..

أخت نور, إذا أردت أن تكون الإجابة مفصلة أكثر فحاولي أن يكون سؤالك مفصلاً,

اذكري النقاط التي تودين أن نعلق عليها,

تحياتي,,

تم تعديل بواسطه Khaled.Alshaya
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اختي الكريمة نور,,تابعي معي

===============

أولاً اختي الفاضلة, لغات البرمجة تتقسم إلى نوعين فقط.. لغات عالية المستوى High-level Programming languages, ولغات منخفضة المستوى Low-level Programming languages. هذه اللغات إما أن تكون مجموعة بواسطة المصرّف(الجامع) The compiler أو مفسّرة بواسطة المفسر The Interpreter. انسي كلمة مترجم اختي الكريمة وامحيها من قاموسك وعوضي عنه بكلمة المفسّر The Interpreter. اوكي ماني رايحة اغير مفاهيمك بالكامل لكن تابع الرد علشان تعرفي الفرق...

=========

اوكي, الآن صار معنا نوعين من البرامج. النوع الأول هو برامج مصرّفة (مجمّعة) بواسطة الجامع تُسمى Compiled Programs هذي تضم اللغات ذات المستوى المنخفض مثل لغة الأسمبلي وبعض اللغات ذات المستوى العالي مثل لغتنا C++, C, .. أما النوع الثاني فهي برامج مفسّرة Interpreted Programs بالضبط مثل لغة Java, Python, ايضاً . الأمثلة كثيرة اختي ممكن تعملي بحث.

========

الفرق بين المصرف The Compiler والمفسّر The Interpreter كالتالي:

- يقوم المصرّف The Compiler بجمع البرنامج أو الملف المصدر The Source File إن صح التعبير وتحويله إلى ملف تنفيذي An Executable File. هذا الملف يُنفّذ مباشرة بواسطة المعالج الخاص بالحاسب الآلي ويحمّل ايضاً في ذاكرة الحاسب الآلي مباشرة

- بالنسبة للنوع الثاني فإننا نقوم بكتابة الشيفرة The code في ملف ايضاً بالضبط مثل النوع الأول ولكننا نستدعي المفسّر the Interpreter ليقوم بتحويل هذا الملف المصدر إلى ما يُعرف بـ Binary File مثل ملفات الجافا. يقوم المفسّر بتحميل هذا الملف او البرنامج إن صح التعبير في آلة افتراضية تحاكي آلة الحاسب الفعلية مثل المعالج والذاكرة. يعني أن تعلميات البرنامج لا ينفذها المعالج الحقيقي في الحاسب الآلي و لا تحمل في الذاكرة الفعلية وإنما في آلة (بيئة برمجية) افتراضية تسمى بـ Virtual Machine تكون وسيطة بين تعليمات البرنامج و المعالج الفعلي (الحقيقي) في الكمبيوتر.

========

اغلب البرامج الموجودة على الانترنت والأكثر مبيعاً واقتناءاً هي البرامج المعمولة بواسطة المصرّف, أي النوع الأول The Compiled Programs. عارفة لش؟ طيب, لأنها أسرع في التنفيذ من النوع الآخر بسبب أن المعالج الفعلي هو الذي يقوم بتنفيذها مباشرة, وليس مثل النوع الثاني (المفسّرة) والتي تعتبر بطيئة في التنفيذ لأن المعالج لا يقوم بتنفيذها مباشرة.

========

خلاص اختي نور؟ هي فقط نوعين وفقط آليتين هنّي

-The Compiler = مصرّف أو جامع

-The Interpreter = ممكن نسميه مفسّر أو مترجم لأنه يقوم بعملية ترجمة ووساطة بينات البرنامج والمعالج Translating.

عموماً بعض الكتب والمصادر تقارن كلمة مترجم بـ The Compiler لأنه فعلاً المصرّف يقوم بترجمة الملف المصدر إلى لغة الآلة The Machine Language ولكنه لا يسمى مترجم The Translator. يعني حاولي تذكيرها للدكتور أو الدكتورة كتلميح وانا متأكدة بقبولها.

=======

هناك شيء اسمه قابلية التحميل او التنقل The Portability تتميز بها البرامج المفسّرة. يعني سهولة في تنفيذ برامجها من بئية نظام إلى أخرى بدون بذل جهد في كتابة البرنامج لكل نظام. هذي الخاصية قد تكون شبه معدومة(وليست معدومة تماماً) لدى النوع الأول من البرامج The Compiled Programs.

هذي خاصية جيدة اختي لا تنسي تذكريها ببحثك.

==============

يعني التصنيفين هدول يمكن يكونوا اساسية حتى لو كان هناك لغات و آليات تتفرع منهن.

آسفة ما انتبهت لمشاركتك اختي إلا بالصدفة لأني عارفة حوسة البحوث ومشاكلهن..إن شاء الله تكون الفكرة واضحة. بالطبع هذا ليس بحث و لكن تقدري تعتبريه خطوتك الأولى في التعريفات والبحث عن طريق الإنتر نت,, عندك مفاتيح كلمات كثيرة تقدري تكتبيهن بقوقل و تكملي بحثك.

===============

تمنياتي لكم

تم تعديل بواسطه رغـــــــــد
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يعطيك ألــــف عافيـــهـ أختي رغد ...

والله يجزيك ألف خير .. بالفعل سهلتي علي كثيررر ..

مشكوووره ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم و رحمة الله و بركاته ...

هذا مقتطف من مقالة لعدد قديم من مجلة العلوم ارجو ان يفيدك.

-----------------------------------------------------------------

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

والعمل في لغة مترجمة بصفة عامة له ثلاث مراحل:يصمم نص البرنامج بواسطة "محرر نصوص" text editor او "برنامج معالجة الكلمات" word-processing program ،ثم يترجم النص،و اخيرا ينفذ البرنامج المترجم.

ولقد وضعت "جريس م.هوبر" Grace Murray Hopper اصطلاح "مترجم" عام 1951،ثم انتقل الاصطلاح الى شركة "رمينغتون-راند يونيفاك" Remington-Rand Univac لوصف برنامجها المترجم الاول .

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

اما المفسر فانه ينفذ برنامجا ما عبارة عبارة خلال زمن ما،محولا كل نظام ذي مستوى رفيع الى تعليمات الية على الدولاب.

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

و الميزة الرئيسية للترجمة هي السرعة لانه عند التفسير يجب تحديد مقطع مناسب من التعليمات في كل مرة تنفذ فيها عبارة.وبذلك تكون اللغة المفسرة غالبا ابطأ لا محالة.ومن جهة اخرى، تكون اللغة المفسرة مناسبة للمبرمج، فهي تلائم تماما "الاسلوب التفاعلي" interactive style لتطور البرنامج.ويمكن ان تكتب اقسام البرنامج و تختبر و تنفذ دون الاستغناء عن المفسر،واذا وجد اي خطأ فيمكن التثبت منه فورا دون الرجوع الى "برنامج لتنقيح النص" text-editing program ومن ثم لترجمة البرنامج ثانية.

------------------------------------------------------------------------------------

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .