الفرق بين لغات البرمجة المُترجمة (compiled) والمُفسّرة (interpreted)

· 523 كلمة · 3 دقيقة قراءة

كل لغة برمجة تكون مشهورة بأنها إما مترجمة (compiled) أو أنها مفسرة (interpreted) ولكن معظم لغات البرمجة يمكن أن تستخدمها مترجمة أو مفسرة. ولكن ما معنى أن لغة البرمجة مترجمة أو لغة البرمجة مفسرة؟ 😥

الفكرة بسيطة وهى؛ عندما تكتب كود بلغة برمجة معينه ثم تقوم بتحويله إلى لغة الآلة من خلال مترجم (compiler) ومن ثم يمكنك تشغيله. فإن هذه الطريقة هى الطريقة المترجمة (compiled implementation) أى أنك استخدمت هذه اللغة بالطريقة المترجمة من خلال الكومبيلر الخاص باللغة مثل gcc (كومبيلر لغة سى).

أما إن كتبت كود بلغة برمجة معينة وقمت بتشغيله مباشرة من خلال مفسر (interpreter) فإنك تقوم بتفسير الكود سطر بسطر للآلة لكى تقوم بتشغيل الكود.

ما هى مميزات لغات البرمجة المترجمة (compiled)؟ 🔗

يقوم المبرمجين بإستخدام لغات البرمجة بالطريقة المترجمة (compiled implementation) ﻷنها تجعل البرنامج الذى تكتبه أسرع فى العمل على الآلة ﻷن كود البرنامج المصدرى تم تحويله بالكامل إلى لغة الآلة التى يتفهمها البروسيسور، وكل ما على البروسيسور هو تشغيل الكود وقت استدعاءه فقط.

الميزة الثانية للطريقة المترجمة هى إمكانية عمل تحسينات على الكود من خلال الكومبيلر (compiler). ولكن عليك أن تأخذ فى الإعتبار أن كتابة الكومبيلر نفسه هى مهمة صعبة جداً ومرهقة للشركات وليست سهله والتحسينات تكون بعد عناء وتعب طويل لذلك هناك لغات بعيدة عن فكرة الترجمة (compilation).

ما هى مميزات لغات البرمجة المفسرة (interpreted)؟ 🔗

يَستخدم المبرمجين الطريقة المفسرة مع لغات البرمجة ﻷنها لا تحتاج إلى وقت لتحويل الكود (compilation time). ﻷنك عندما تغير شئ فى كود لغة مترجمة، تحتاج إلى وقت لكى يقوم الكومبيلر بتحويل هذا البرنامج من البداية إلى لغة الآلة ثم تشغل البرنامج وهكذا.. وهذه الحالة تُضايقنا كمبرمجين ﻷننا نحتاج إلى الكثير من الإختبارات والإضافات والتعديلات أثناء كتابة البرامج ووقت الترجمة غالباً يكون أطول من وقت كتابة الكود المصدرى نفسه ويصبح الأمر مُمل.

والميزة الأخرى التى أراها فى البرمجة المفسرة هى سهولة وسرعة التعديل على الكود المصدرى ﻷنه يظل كما هو ولا يتغير إلى كود آخر لكى يعمل. وبالتالى سهولة إضافة إمكانيات جديدة للموقع أو البرنامج.

ولكن ما هى عيوب كل طريقة ؟!🤔 🔗

عيوب طريقة البرمجة المترجمة هى أن الوقت اللازم لكتابة البرنامج طويل وأحياناً يكون طويل جداً. ويحتاج المبرمج إلى لابتوب أو كمبيوتر قوى وذو إمكانيات عالية ليقوم ببرمجة تطبيقات باللغات المترجمة (compiled language). لماذا لابتوب بمواصفات عاليه؟ لكى تُقلل من وقت الترجمة (compilation time) قدر المُستطاع.

أما عيوب طريقة البرمجة المفسرة (interpretation) هى أن البرامج المكتوبة بها تكون بطيئة دائماً ولا يُنصح بكتابة البرامج التى تقوم بحسابات كثيرة أو بمهام خاصة بالجرافكس ﻷنها ستكون بطيئة بشكل يجعل هذه البرامج غير قابله للإستخدام.

أتمنى أن أجد لغة برمجة تعمل بطريقة التفسير (interpreted implementation) داخل الـ IDE لتسريع كتابة البرنامج. ولكن عند حزم البرنامج لكى يبدأ المبرمج فى نشرة تُستخدم طريقة الترجمة (compiled implementation) مع تحسينات على البرنامج من خلال الكومبيلر ليكون أداء البرنامج سريع وسريع الإستجابة.

تحديث يوم ٣ / ١٢ / ٢٠٢٣ 🔗

رأيي أن لغة جو هي لغة مثالية لأنها تجمع بين مميزات الحالتين. إنها لغة compiled ولكن وقت الـ compilation سريع جداً لدرجة أنك لا تلاحظ حدوثه في المشاريع الصغيرة والمتوسطة. لذلك أنا مهتم جداً بلغة جو.

إن كنت مهتم بلغة جو، تابعني على مواقع التواصل الإجتماعي لتعرف كل الموضوعات والشروحات عن لغة جو التي أنشرها هنا على الموقع.

اقرأ أيضاً:

التصنيفات: برمجة
مشاركة:
waffarx cash back