Professional Documents
Culture Documents
Compiler vs Interpreter
سر هي برامج تساعد في تحويل اللغة عالية المستوى (كود المصدر) إلى أكواد آلة لكي تفهمها المترجم وال ُمف ّ
أجهزة الكمبيوتر .عادة ما تتم كتابة برامج الكمبيوتر بلغات عالية المستوى ،واللغة عالية المستوى هي اللغة التي
يمكن أن يفهمها البشر .لتوضيح ذلك ،تحتوي هذه اللغات على كلمات وعبارات من اللغات الشائعة االستخدام
مثل اإلنجليزية ،مع ذلك ،ال تستطيع أجهزة الكمبيوتر فهم اللغات عالية المستوى كما نفعل نحن البشر .يمكنهم
فقط فهم البرامج التي تم تطويرها في األنظمة الثنائية المعروفة باسم كود اآللة .بادئ ذي بدء ،عادة ما تتم كتابة
برنامج الكمبيوتر بلغة عالية المستوى توصف بأنها كود المصدر ،ويجب تحويل هذا الكود إلى لغة آلة وهنا
يأتي دور المترجم والمُفسّر.
يترجم البرامج المكتوبة بلغة عالية المستوى Sإلى تعليمات يستطيع الكمبيوتر فهمها. -
فهو يحوّ ل النص الذي يكتبه المبرمج إلى تنسيق يمكن أن تفهمه وحدة المعالجة المركزية. -
عملية التجميع معقدة نسبيًا ،يقضي الكثير من الوقت في تحليل البرنامج ومعالجته. -
النتيجة القابلة للتنفيذ هي شكل من أشكال الكود الثنائية الخاصة بالجهازS. -
وظائف ال ُمفسر
يقوم المُفسر بتحويل الكود المصدر Sسطراً بسطر أثناء وقت التشغيل. -
المُفسر يترجم برنامجً ا مكتو ًبا Sبلغة عالية المستوى إلى لغة على مستوى اآللة. -
البشر مهووسون بالمقارنات التي من شأنها إظهار خياراتهم Sعلى أنها األصح .نحن مهووسون
بالفوز ،وهذا ينطبق أيضا ً على البرمجة .يوجد مبرمجون متعصبون مستعدون Sللنقاش ساعا ٍ
ت
وساعا ٍ
ت إلقناعك أن لغة البرمجة التي يجيدونها Sويفضلونها هي “األفضل” وأن أسلوب البرمجة
الذي يتبعونه هو األنجح وأن اعتمادهم على لغ ٍة مترجمة (أو مفسرة) هو المفتاح للسعادة
األبدية.
هل استخدام اللغات المفسرة أفضل من اللغات المترجمة؟ أو العكس؟ الجواب على هذا السؤال
بسيط جداً :كما في كل شيء آخر بالحياة ،مفهوم “األفضل” هو مفهو ٌم نسبيّ .استخدام لغة
بشكل أساسيّ للمجال المستهدف والتطبيق Sالمراد إنشاؤه .لغة
ٍ برمجة بدالً من األخرى يتبع
بايثون تمتلك شهر ًة كبيرة بمجال تحليل البيانات وتطبيقات معالجة الصورة والذكاء الصنعيّ
وتعلم اآللة ،ولذلك فإن الراغبين بالغوض بأحد هذه المجاالت سيُفضل غالبا ً التوجه وتعلم لغة
بشكل كبير في مجال برمجة األنظمة المضمنة وأنظمة التشغيل ،ولذلك
ٍ بايثون .لغة سي تستخدم
فإن من يرغب بالغوض بهذا المجال سيُفضل غالبا ً تعلم لغة سي .ال أعتقد أن هنالك “أفضل”،
وقد أكون مخطئا ً في ذلك ،إال أن األكيد هو أن البحث عن األفضل والسعي Sإلثبات “األفضل”
بمشروع جديد أو تحسين
ٍ هو إضاعة لوق ٍ
ت يمكن استثماره في تعلم لغة برمجة جديدة أو البدء
مشروع ومنتج موجو ٍد أصالً.
ٍ