دليل المراجعة · GKU 7
دليل مراجعة لغات البرمجة (علوم الحاسب)
يقابل المبرمج لغات كثيرة في مسيرته، ويتعلم كلاً منها أسرع حين يتعرف على الأفكار القليلة التي بُنيت منها. يتناول الجزء الأول من هذه الوحدة تلك الأفكار كما يستخدمها المبرمج: الأصناف والوراثة والإرسال الديناميكي؛ والدوال النقية والإغلاقات والدوال عالية الرتبة؛ وكيف يحل النمط كائني التوجه والوظيفي والمنطقي المسألة نفسها بطرق مختلفة؛ والمكررات والعمليات على المجموعات كاملة؛ وأنظمة الأنواع والأنواع العامة ومعالجة الأخطاء؛ وعادات الاختبار والتنقيح والأسلوب التي تُبقي البرامج مقروءة. ويفتح الجزء الثاني تنفيذ اللغة: كيف يصبح نص البرنامج شجرة تستطيع برامج أخرى قراءتها، وكيف تمشي المفسرات والمترجمات والمحسّنات في تلك الشجرة، وكيف يرتب البرنامج أثناء التشغيل ذاكرته في مناطق النص والبيانات والكومة والمكدس، وكيف تُربط الأسماء وتُمرَّر المعاملات، وكيف تستعيد جوامع المهملات الذاكرة. يبدأ كل قسم ببطاقة مراجعة سريعة، وتتدرج الأمثلة المحلولة من السهل إلى مستوى الاختبار.
مبني على المعيار التخصصي الرسمي لهيئة تقويم التعليم والتدريب لهذا الموضوع: كل موضوع مُدرج وكل مخرج تعلّم، مع المعادلات والأشكال والأمثلة المحلولة. الأقسام الكاملة متاحة للأعضاء في التطبيق.
SKU 7.1 · البرمجة كائنية التوجه والبرمجة الوظيفية
مفاهيم البرمجة كائنية التوجه: التغليف والوراثة والأنواع الفرعية والإرسال
تصميم هرمية أصناف تعيد استخدام الشيفرة بالوراثة، وتحفظ الحالة خلف واجهة، وتبقى قابلة للاستبدال — مع تتبع الإرسال الديناميكي في مثال رواتب، وفخ المربع والمستطيل الكلاسيكي.
البرمجة الوظيفية: الدوال النقية والثبات والإغلاقات والدوال عالية الرتبة
الحساب دون تغيير الحالة: الدوال النقية والشفافية المرجعية، والبيانات الثابتة، والدوال بوصفها قيماً تُمرّر وتُرجع وتُركّب، والإغلاقات طريقةً لتغليف الحالة دون أصناف.
مقارنة الأنماط: الوراثة والأنواع الفرعية والدوال والمنطق
كيف تعبّر البرمجة كائنية التوجه والوظيفية والمنطقية عن التنوع وإعادة الاستخدام، ومسألة التعبير التي تفصل بين الأوليين، وكيف يُجاب عن استعلام Prolog بالتوحيد والتراجع.
العمليات على المجموعات: المكررات والمولّدات وخطوط معالجة المجموعات
معالجة المجموعات كاملة بدلاً من فهرستها: بروتوكول المكررات في Python وJava وC++، وmap وfilter وreduce، والتعابير الشاملة وتدفقات Java، والتقييم الكسول بالمولّدات.
أنظمة الأنواع: الفحص والاستنتاج والأنواع العامة والأنواع الفرعية ومعالجة الأخطاء
ما يضمنه نظام الأنواع وكيف يفحص البرامج: الأنواع الساكنة والديناميكية، والقوية والضعيفة، وقواعد الأنواع والاستنتاج، وتعدد الأشكال البارامتري والفرعي مع التباين، والتحميل الزائد، والاستثناءات معالجةً للأخطاء ذات أنواع.
الاختبار والتنقيح والتوثيق والأسلوب
مُخرجا هذه الوحدة اللذان يخصان الصنعة لا موضوعاً مدرجاً: اختبار البرامج الصغيرة وتنقيحها بطريقة منهجية، وكتابتها بأسلوب موثق ومتسق يستطيع غيرك صيانته.
SKU 7.2 · تمثيل البرامج وترجمة اللغات وتنفيذها
البرامج بوصفها بيانات: القواعد النحوية وأشجار الاشتقاق وأشجار النحو المجردة
كيف يُوصف نص البرنامج بقاعدة نحوية خالية من السياق، وكيف تُبنى الأسبقية والتجميع في القاعدة، ولماذا تُختزل شجرة الاشتقاق إلى شجرة نحو مجردة، وكيف تقرأ البرامج برامج أخرى عبر تلك الشجرة.
معالجة اللغات: المترجمات والمفسرات والمحسّنات والأدوات
المراحل من النص المصدري إلى التنفيذ، والفرق بين الترجمة والتفسير والشيفرة البايتية والترجمة الفورية، وأي مرحلة تبلّغ عن أي خطأ، وثلاثة برامج صغيرة تعالج الشيفرة: مفسّر، ومحسّن بطيّ الثوابت، ومولّد توثيق.
تنظيم الذاكرة: النص والبيانات والكومة والمكدس؛ التسريبات والمؤشرات المعلقة
أين يحفظ البرنامج أثناء تشغيله شيفرته وبياناته، وكيف يصبح الاستدعاء إطاراً في المكدس، وإلى أي عمق تصل العودية قبل أن يفيض المكدس، وكيف تنتج الإدارة اليدوية للكومة تسريبات ومؤشرات معلقة.
الربط والنطاق والعمر وتمرير المعاملات
متى تأخذ الأسماء معانيها، وكيف يحسمها النطاق الساكن والديناميكي، وكيف يختلف النطاق عن العمر، وكيف تُمثَّل معاملات القيمة والمرجع والقيمة-النتيجة والاسم وقت التشغيل وكيف قد تعطي إجابات مختلفة.
جمع المهملات: عدّ المراجع والتتبع والنسخ والأجيال
كيف تجد بيئة تشغيل اللغة الذاكرة التي لم يعد البرنامج قادراً على بلوغها وتستعيدها، وكم يكلّف كل جامع كلاسيكي، ولماذا يسرّب عدّ المراجع الدورات، ولماذا قد تسرّب لغة ذات جمع مهملات مع ذلك.
أدلة أخرى في علوم الحاسب
- دليل مراجعة الخوارزميات والحوسبة والتعقيدGKU 1 · عدد الأقسام: 11
- دليل مراجعة الهياكل المتقطعةGKU 3 · عدد الأقسام: 9
- دليل مراجعة هندسة البرمجياتGKU 8 · عدد الأقسام: 6
- دليل مراجعة معمارية الحاسوب وتنظيمهGKU 2 · عدد الأقسام: 12
- دليل مراجعة نظم التشغيلGKU 6 · عدد الأقسام: 13
- دليل مراجعة إدارة المعلومات: نظم قواعد البيانات ونمذجة البياناتGKU 4 · عدد الأقسام: 10
- دليل مراجعة الشبكاتGKU 5 · عدد الأقسام: 10