Kareem Abdelhamed3 نشر 25 فبراير أرسل تقرير نشر 25 فبراير انا كت عايز اسال بس هو ليه في لغات تستخدم interpreter على الرغم من ان compiler اسرع بي كتير 4 اقتباس
0 Mahmoud Hassan19 نشر 25 فبراير أرسل تقرير نشر 25 فبراير (معدل) استخدام (interpreter) أو (compiler) يعتمد على مجموعة من الاعتبارات والاحتياجات في تصميم اللغة البرمجية والتطبيق الذي يتم تطويره 1.سهولة التطوير والاختبار: يمكن أن يكون استخدام المترجمات (interpreter)أكثر سهولة خلال مرحلة التطوير حيث يمكنك تشغيل الكود بشكل فوري دون الحاجة إلى خطوة تجميع (compile) مسبقة 2. التنقل والتشغيل الديناميكي: في بعض الحالات يحتاج التطبيق إلى التفاعل مع المستخدم أو بيئة متغيرة بشكل ديناميكي المترجم يمكنه تنفيذ الكود البرمجي مباشرةوبشكل ديناميكي بدون حاجة لخطوة تجميع(compile) 3. تحسين الإنتاجية: في بعض السيناريوهات يمكن أن يكون التطوير أسرع باستخدام لغةبرمجة تستخدم (interpreter) حيث يتيح ذلك للمطورين اختبار التغييرات بشكل فوري 4. التعامل مع متغيرات البيئة: بعض اللغات تحتاج إلى التفاعل مع متغيرات البيئة بشكل مباشر وهو أمر يمكن أن يكون أكثر تحقيقًا من خلال استخدام (interpreter) تم التعديل في 25 فبراير بواسطة Mahmoud Hassan19 1 اقتباس
0 ياسر مسكين نشر 25 فبراير أرسل تقرير نشر 25 فبراير الفرق بينهما متباين للغاية، فالمترجم مثلا (Compiler) هو برنامج يقوم بتحويل الشفرة المصدرية للبرنامج (مثل الشفرة المكتوبة بلغة C++ أو Java) إلى رمز ثنائي (ملف تنفيذي) يمكن تشغيله مباشرة من قبل الحاسوب. ويتم استخدامه لكونه يحمل: أداءً عاليا: حيث يتم تحويل الشفرة المصدرية إلى رمز ثنائي مباشرة، وبالتالي تكون البرامج التي تم إنشاؤها باستخدام المترجم عادةً أكثر كفاءة من حيث الأداء. تحسينات في الأمان: فبمجرد تحويل الشفرة المصدرية إلى رمز ثنائي، يصعب بشكل عام على المستخدمين الآخرين رؤية أو تعديل الشفرة المصدرية. هذا يجعل من الصعب استغلال الثغرات الأمنية في البرامج. الانتشار الواسع: بحيث يمكن تشغيل البرامج التي تم تحويلها باستخدام المترجم على أنظمة متعددة دون الحاجة إلى ترجمتها مرة أخرى، مما يجعلها ملائمة للتوزيع. أما ال (Interpreter) فهو برنامج يقوم بتنفيذ الشفرة المصدرية للبرنامج مباشرة دون الحاجة إلى تحويلها إلى رمز ثنائي. ويتم استخدامه عادة لوجود هذه الميزات: التطوير والاختبار السريع: بحيث يمكن تطوير واختبار البرامج باستخدام المترجم بشكل أسرع من المترجم، حيث يمكن للمطورين رؤية نتائج تنفيذ الشفرة المصدرية على الفور دون الحاجة إلى تحويلها أولاً. التفاعلية: هو مفيد في بناء الأنظمة التفاعلية مثل الواجهات الرسومية، حيث يمكن للمستخدمين التفاعل مباشرة مع البرنامج ورؤية النتائج على الفور. التوزيع السهل: بحيث يمكن توزيع البرامج التي تستخدم المترجم بسهولة أكبر، حيث لا يلزم إعادة تحويل الشفرة المصدرية إلى رمز ثنائي قبل تشغيلها على الأنظمة الأخرى. ومن هنا يمكنك أن تستفيد أكثر لفهمهما بشكل جيد: 1 اقتباس
0 عبدالباسط ابراهيم نشر 25 فبراير أرسل تقرير نشر 25 فبراير هناك عدة أسباب رئيسية لوجود لغات البرمجة المفسرة على الرغم من كون اللغات المترجمة أسرع: تتيح اللغات المفسرة تطوير أسرع لأن الكود لا يحتاج إلى الترجمة في كل مرة يتم فيها إجراء تغيير. وهذا يجعل عملية تصحيح الأخطاء والتكرار في الكود أسرع بكثير. لا تتطلب اللغات المفسرة الترجمة إلى نظام أساسي أو هندسة معينة. يجعلها نموذج التفسير أكثر قابلية للنقل عبر أنظمة التشغيل. تطبيقات الويب: اللغات المفسرة مثل جافاسكربت و PHP وبايثون مناسبة جدًا لبناء تطبيقات الويب الديناميكية لأن طبيعتها المفسرة تحاكي كيفية تنفيذ الكود في المتصفح. لذلك ، فإن اللغات المفسرة تتخلى عن بعض الأداء من أجل التطوير السريع، والقابلية للنقل، والاستخدام التفاعلي، والملاءمة لتطبيقات معينة مثل الويب والبرمجة النصية. لكل من اللغات المترجمة والمفسرة حالات استخدام خاصة بها. 1 اقتباس
0 Mustafa Mahmoud7 نشر 25 فبراير أرسل تقرير نشر 25 فبراير بما أن المترجمات ( interpreter ) تقوم بتنفيذ البرنامج بشكلٍ مباشر فإنها تساهم بتوفير الوقت المرتبط بإنجاز عملية compile، كما أنه وبسبب قيامها بإصدار رسائل الخطأ عند السطر الذي تم إيجاد الخطأ عنده، تعتبر عملية البحث عن الأخطاء أسهل في لغات البرمجة المترجمة مقياساً مع مثيلاتها المترجمة. بسبب عدم قيام المترجم بتحليل الشيفرة المصدرية بالكامل وعدم توليده لأي برامج تنفيذية، فإنه يتوّجب في كل مرة يتم فيها تشغيل البرنامج إجراء عملية التفسير بالكامل وقراءة البرنامج وتحليله وتنفيذه سطراً تلو الآخر، ما يجعل اللغات المفسرات أبطأ عادةً من اللغات المترجمة عندما يتعلق الموضوع بزمن التنفيذ إلا أنها لا تستوجب نفس متطلبات الذاكرة الخاصة باللغات التى تحتاج compile كونها لا تقوم بتوليد أي برامج تنفيذية بل يتم تنفيذ البرنامج بشكلٍ مباشر من المترجم 1 اقتباس
0 Najah Alsaker نشر 25 فبراير أرسل تقرير نشر 25 فبراير ساعطيك اياها باختصار شديد على الرغم من أن compiler اسرع الا ان لل interpreter ميزات كثييرة والان سأوضح لك الفرق والمميزات بين الاثنين نبدأ أولا مع الـ Interpreter: يقوم بترجمة سطر سطر أو فقرة فقرة من الكود سورس يستمر في ترجمة وتنفيذ البرنامج وإذا كان هناك خطأ فهو يتوقف في السطر الذي يحتوي على الخطأ أثناء عملية التنفيذ يقوم بترجمة الكود سورس بسرعة لكن ينفذه ببطئ سهولة تتبع الأخطاء لأن البرنامج يتوقف في مكان الخطأ مباشرة اللغات التي تعتمد مبدأ الـ Interpreter : لغة php لغة Python لغة Ruby لغة JavaScript لغة Perl ثانيا الـ Compiler: يقوم بتحليل البرنامج بالكامل ثم يترجمه كاملا إلى لغة الآلة يأخذ وقت طويل في ترجمة الكود سورس لكن ينفذه بسرعة كبيرة جدا يقوم باكتشاف الأخطاء بعد عمل تحليل للبرنامج بالكامل لهذا تحديد مكان الخطأ صعب بالمقارنة مع الـ interpreter اللغات التي تعتمد مبدأ الـ Compiler: لغة c و c++ لغة c# لغة java تجمع بين المبدأين معا وهذا هو ما يجعل البرامج التي كتبت بالجافا تشتغل في جميع أنظمة التشغيل لذلك تستطيع استخدام الذي تريده حسب اللغة التي تستخدمها ومتطلبات مشروعك وبالتوفيق لك 1 اقتباس
السؤال
Kareem Abdelhamed3
انا كت عايز اسال بس هو ليه في لغات تستخدم interpreter على الرغم من ان compiler اسرع بي كتير
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.