لغات البرمجة المترجمة والمفسرة - كتاب هندسة البرمجيات - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: لغات البرمجة المترجمة والمفسرة

📚 معلومات الصفحة

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

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

في قسم اللغات المترجمة، يتم استعراض لغات مثل سي (C) وسي بلس بلس (++C) وسي شارب (#C) وجافا (Java)، والتي تعتمد على المترجمات لإنتاج برامج سريعة وموثوقة، مع الإشارة إلى أن هذا يتطلب من المطورين معرفة بأجهزة المستخدمين النهائيين.

في قسم اللغات المفسرة، يتم مناقشة لغات مثل جافا سكريبت (JavaScript) وليسب (LISP) وبيسيك (BASIC)، والتي تعمل بشكل أبطأ ولكن يمكن تشغيلها على أي جهاز يحتوي على مفسر، مما يوفر مرونة عبر الأنظمة المختلفة مثل ويندوز وأندرويد.

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

📄 النص الكامل للصفحة

لغات البرمجة المترجمة والمفسرة Interpreted and Compiled Programming Languages تستخدم معظم لغات البرمجة الحديثة المترجمات لإنتاج البرامج المحسنة بسرعة، ولكن بعض اللغات ما زالت تستخدم المفسرات عند الحاجة لإنشاء برنامج بسيط لا تُعد السرعة المعيار الأهم به. --- SECTION: اللغات المترجمة --- اللغات المترجمة Compiled Languages تستخدم لغات البرمجة سي (C) وسي بلس بلس (++C) وسي شارب (#C) وجافا (Java) مترجمات اللغة لإنشاء برامج سريعة وموثوقة. يتم إنشاء البرنامج القابل للتنفيذ لكل نوع من أنواع أجهزة الحاسب، مما يجعل اكتساب المعرفة بأجهزة حواسيب المستخدمين النهائيين واجباً على المطورين. --- SECTION: اللغات المفسرة --- اللغات المفسرة Interpreted Languages اعتمدت الإصدارات الأولية للغة جافا سكريبت (JavaScript)، وكذلك لغتي ليسب (LISP) وبيسيك (BASIC) على المفسرات، مما يعني أن البرامج التي تكتب بهذه اللغات تعمل بشكل بطيء، ولكن كان تشغيل برامجها المصدرية على أي جهاز حاسب يحتوي على مفسر لغة البرمجة ممكناً. فعلى سبيل المثال، يمكن تشغيل تطبيق ويب مكتوب بلغة جافا سكريبت على جهاز حاسب يعمل بنظام ويندوز أو على حاسب لوحي يعمل بنظام أندرويد باستخدام متصفح ويب مدمج مع مفسر. --- SECTION: شكل 1.13: البايثون لغة مترجمة ومفسرة --- شكل 1.13: البايثون لغة مترجمة ومفسرة إن البايثون هي لغة مترجمة ومفسرة. يُترجم تطبيق بايثون كل سطر من التعليمات البرمجية بحيث يمكن للمفسر قراءته على الجهاز المستخدم. لا يتغير تركيب الجمل الذي يستخدمه المبرمج؛ لأن تطبيق بايثون يحوله إلى الشكل الصحيح للمفسر المستخدم على هذا الجهاز. وزارة التعليم Ministry of Education 2025 - 1447 36 --- VISUAL CONTEXT --- **DIAGRAM**: شكل 1.13: البايثون لغة مترجمة ومفسرة Description: A Venn diagram illustrating the classification of programming languages as compiled, interpreted, or both. It consists of two overlapping ellipses. The left ellipse is labeled 'المترجم' (Compiler) and contains the languages: 'سي (C)', 'سي بلس بلس (++C)', 'سي شارب (#C)', 'جافا (Java)'. The right ellipse is labeled 'المفسر' (Interpreter) and contains the languages: 'ليسب (LISP)', 'بيسيك (BASIC)', 'جافا سكريبت (JavaScript)'. The overlapping region between the two ellipses is labeled 'البايثون (Python)', indicating it can be both compiled and interpreted. X-axis: EMPTY Y-axis: EMPTY Data: Categorization of programming languages based on their execution model (compiled, interpreted, or both). Key Values: المترجم: سي (C), سي بلس بلس (++C), سي شارب (#C), جافا (Java), المفسر: ليسب (LISP), بيسيك (BASIC), جافا سكريبت (JavaScript), مترجم ومفسر: البايثون (Python) Context: This diagram visually supports the text by categorizing programming languages into compiled, interpreted, or hybrid types, with Python highlighted as a language that can be both.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 8 بطاقة لهذه الصفحة

ما هي اللغات المترجمة (Compiled Languages)؟

الإجابة: لغات برمجة تستخدم مترجمات لإنشاء برامج سريعة وموثوقة، ويتم إنشاء برنامج قابل للتنفيذ لكل نوع من أجهزة الحاسب. أمثلة: سي (C)، سي بلس بلس (++C)، سي شارب (#C)، جافا (Java).

الشرح: اللغات المترجمة تمر بمرحلة ترجمة كاملة قبل التنفيذ، مما ينتج برنامجاً تنفيذياً خاصاً بكل منصة، وهذا يعطيها سرعة في الأداء.

تلميح: فكر في اللغات التي تنتج برامج قابلة للتنفيذ مباشرة على نظام معين.

التصنيف: تعريف | المستوى: سهل

ما هي اللغات المفسرة (Interpreted Languages)؟

الإجابة: لغات برمجة تعتمد على المفسرات، مما يعني أن البرامج المكتوبة بها تعمل بشكل أبطأ، ولكن يمكن تشغيل برامجها المصدرية على أي جهاز حاسب يحتوي على مفسر لتلك اللغة. أمثلة: جافا سكريبت (JavaScript)، ليسب (LISP)، بيسيك (BASIC).

الشرح: المفسر يترجم وينفذ التعليمات البرمجية سطراً سطراً أثناء التشغيل، مما يسمح بالمرونة في التشغيل عبر منصات مختلفة ولكن على حساب السرعة.

تلميح: تذكر أن هذه اللغات لا تنتج برنامجاً تنفيذياً مستقلاً، بل تحتاج إلى برنامج وسيط (المفسر) على الجهاز المستهدف.

التصنيف: تعريف | المستوى: سهل

ما الفرق الرئيسي بين اللغات المترجمة واللغات المفسرة من حيث الأداء والتشغيل عبر المنصات؟

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

الشرح: الفرق يعكس مقايضة (trade-off) كلاسيكية في هندسة البرمجيات: السرعة والكفاءة مقابل المرونة وإمكانية التشغيل عبر المنصات.

تلميح: قارن بين معيار السرعة ومعيار إمكانية التشغيل على أجهزة مختلفة.

التصنيف: فرق بين مفهومين | المستوى: متوسط

اذكر مثالاً عملياً على تشغيل برنامج مكتوب بلغة مفسرة على أجهزة مختلفة.

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

الشرح: هذا المثال يوضح ميزة اللغات المفسرة: قابلية التشغيل عبر منصات متعددة دون الحاجة لتعديل الكود المصدري، طالما توفر البيئة المناسبة (المفسر).

تلميح: تذكر أن المتصفحات الحديثة تحتوي على مكون أساسي لتشغيل لغة برمجة معينة للويب.

التصنيف: مفهوم جوهري | المستوى: سهل

ما الخاصية الفريدة للغة بايثون (Python) فيما يتعلق بآلية التنفيذ؟

الإجابة: بايثون هي لغة مترجمة ومفسرة (هجينة). يُترجم تطبيق بايثون كل سطر من التعليمات البرمجية إلى شكل وسيط يمكن للمفسر قراءته على الجهاز المستخدم، دون تغيير تركيب الجمل الذي كتبه المبرمج.

الشرح: تستخدم بايثون مترجماً (compiler) لتحويل الكود المصدري إلى bytecode (شكل وسيط)، ثم يستخدم مفسر (interpreter) لتنفيذ هذا الـ bytecode. هذا يجمع بين بعض مزايا كلا النهجين.

تلميح: تذكر أنها تجمع بين خاصيتين من التصنيفات الرئيسية للغات البرمجة.

التصنيف: مفهوم جوهري | المستوى: متوسط

لماذا تُعد معرفة أجهزة حواسيب المستخدمين النهائيين مهمة لمطوري البرامج باستخدام اللغات المترجمة؟

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

الشرح: هذه إحدى التحديات في تطوير البرمجيات المترجمة، حيث قد يتطلب الأمر بناء (build) البرنامج لعدة منصات مستهدفة مختلفة.

تلميح: فكر في نتيجة عملية الترجمة: أين يعمل البرنامج الناتج؟

التصنيف: تفكير ناقد | المستوى: متوسط

ما هي اللغات المصنفة ضمن اللغات المترجمة فقط حسب الرسم التخطيطي (شكل 1.13)؟

الإجابة: اللغات المترجمة فقط هي: سي (C)، سي بلس بلس (++C)، سي شارب (#C)، جافا (Java).

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

تلميح: هذه اللغات موجودة في الجزء غير المتداخل من دائرة 'المترجم'.

التصنيف: ملخص | المستوى: سهل

ما هي اللغات المصنفة ضمن اللغات المفسرة فقط حسب الرسم التخطيطي (شكل 1.13)؟

الإجابة: اللغات المفسرة فقط هي: ليسب (LISP)، بيسيك (BASIC)، جافا سكريبت (JavaScript).

الشرح: هذا التصنيف يشير إلى أن الإصدارات الأولية أو النمطية لهذه اللغات تعتمد على آلية التفسير (Interpretation) لتنفيذ الكود المصدري سطراً سطراً.

تلميح: هذه اللغات موجودة في الجزء غير المتداخل من دائرة 'المفسر'.

التصنيف: ملخص | المستوى: سهل