لغة مفسرة
اللغة المفسرة Interpreted language، هي لغة برمجة بحيث يتم تطبيق البرنامج بشكل غير مباشر interpreted من قبل مفسر البرنامج. اللغة المفسرة interpreted هي عكس اللغات المترجمة compiled من حيث العمل فاللغات المترجمة بحيث تقوم بترجمة الكود بشكل تام وتحويله الى لغة آلة من ثم يتم تطبيق التعليمات من قبل المعالج . نظرياً فأن اي لغة برمجة يمكن ان تكون مفسرة اومترجمة اوكلاهما بنفس الوقت .
يوجد الكثير من لغات البرمجة تكون لغة مفسرة ومترجمة بنفس الوقت كما في اللغات التالية Lisp, Pascal, C, BASIC, Python
اللغة المفسرة والمترجمة
يمككنا التفريق بين اللغات المفسرة واللغات المترجمة عن طريق المثال البسيط التالي: لنفرض حتى لدينا إنسان يلقي خطاب باللغة الإنجليزية، هناك طريقتان لترجمة ما يقول
- إما حتى يقوم المترجم بترجمة ما يقوله المتحدث أولاً بأول: أي قراءة مبتر بلغته ثم ترجمته: وهذا يمثل حالة اللغة المفسرة
- أوحتى يقوم المترجم بإلقاء خطابه كاملاً، ثم يلقي المترجم ترجمة كاملة لهذا الخطاب بعد حتى ينهي المتحدث كلامه: وهذا يمثل حالة اللغات المترجمة
مميزات لغات البرمجة المفسرة
اللغات المفسرة تعطي مرونة إضافية عن اللغات المترجمة. ومن اللميزات التيقد يكون تطبيقها أسهل في حالة التفسير عنه في حالة الترجمة:
- عدم الاعتماد على المنصة التي يتم التشغيل عليها
- القدرة على تغيير التعامل مع أنواع البيانات أثناء التطبيق بالإنگليزية: Reflection
- تحديد نوع البيانات المستخدم في وقت التشغيل فقط بالإنگليزية: Dynamic Typing
- صغر حجم البرامج، وذلك لأن المفسر تكون له حرية اختيار التعليمات بالإنگليزية: Instructions التي يتحول إليها البرنامج
- القدرة على تحديد وتغيير مجال المتغير بالإنگليزية: Variable Scope في وقت التشغيل
عيوب لغات البرمجة المفسرة
العيب الرئيسي في تفسير لغات البرمجة هوأنه أبطأ بكثير عند التطبيق من تطبيق لغة الآلة مباشرةً في المعالج عند اللغات المترجمة. وقد تستخدم الترجمة في الوقت المناسب لتحسين الأداء عن طريق ترجمة الأجزاء المكررة من الكود المفسر إلى لغة الآلة.
أمثلة للغات عادةً ما تكون مفسرة
- APL
- صفحات الخادم النشطة
-
بيسيك
- thinBasic
- كوبول
- نظم حل المعادلات:
- جنوأوكتف
- IDL
- ماثماتيكا
- ماتلاب
- Euphoria
- Forth
- Game Maker Language
- Inform
- J
- Lava
- بيرل
- بي إتش بي
-
ليسب
- Scheme
- لغة اللوجو
- MUMPS
- لغة البرمجة آر
-
روبي
- JRuby
- Smalltalk
- Bistro
- Dolphin Smalltalk
- F-Script
- Little Smalltalk
- Squeak
- IBM VisualAge
- VisualWorks
-
لغات البرمجة النصية
- ECMAScript
- أكشن سكربت
- E4X
- جافا سكريبت
- JScript
- WebDNA
- ECMAScript
-
الجداول الممتدة
- مايكروسوفت إكسل
- S
- Tcl
- XOTcl
- XMLmosaic
لغات تترجم عادةً إلى لغة آلة افتراضية
الكثير من اللغات تترجم أولاً إلى لغة آلة افتراضية والتي تفسر أوتترجم بدورها إلى لغة الآلة
-
جافا
- Groovy
- Join Java
- كولدفيوشن
- لوا
-
إطار عمل دوت نت
- سي شارب
- فيجوال بيزك .نت
- Pike
- بايثون
- Visual FoxPro
انظر أيضاً
- مفسر
- لغة مترجمة
- لغة برمجة نصية