1/26
بطاقات مراجعة للمفاهيم والمصطلحات البرمجية الأساسية في لغة Java المأخوذة من المحاضرات.
لغة الآلة (Machine Language)
اللغة الوحيدة التي يفهمها الكمبيوتر مباشرة وتحددها تصاميم العتاد الصلب، وتتكون من سلاسل أرقام (0 و1) وتكون معتمدة على الجهاز (machine dependent).
لغة التجميع (Assembly Language)
لغة برمجية منخفضة المستوى تستخدم اختصارات شبيهة باللغة الإنجليزية لتمثيل العمليات الأولية للحاسوب بدلاً من سلاسل الأرقام.
المجمع (Assembler)
برنامج مترجم يقوم بتحويل البرامج المكتوبة بلغة التجميع (Assembly Language) إلى لغة الآلة (Machine Language) بسرعة الحاسوب.
المترجم (Compiler)
برنامج ترجمة يحول شفرة المصدر المكتوبة باللغات عالية المستوى إلى لغة الآلة أو البايتكود دفعة واحدة.
المفسر (Interpreter)
برنامج يقوم بتنفيذ برامج اللغات عالية المستوى مباشرة خطوة بخطوة دون انتظار التجميع الكامل، ولكنه أبطأ في التشغيل من البرامج المجمعة.
البايتكود (Bytecode)
تعليمات مستقلة عن المنصة (platform independent) وقابلة للنقل (portable) ينتجها مترجم Java وتنفذها آلة جافا الافتراضية (JVM).
آلة جافا الافتراضية (JVM)
تطبيق برمجي محاكٍ يمثل أساس منصة Java يقوم بتنفيذ البايتكود ويخفي نظام التشغيل والعتاد الصلب عن البرامج.
المعرف (Identifier)
سلسلة من الأحرف والأرقام والشرطات السفلية _ وعلامات $ تُستخدم لتسمية الكلاسات والمتغيرات، بشرط ألا تبدأ برقم ولا تحتوي على مسافات وهي حساسة لحالة الأحرف.
المتغير (Variable)
موقع محدد في ذاكرة الحاسوب له اسم ونوع يُستخدم لتخزين قيمة معينة لاسترجاعها أو تعديلها أثناء تشغيل البرنامج.
أخطاء زمن التشغيل (Runtime Errors)
أخطاء تحدث أثناء تنفيذ البرنامج مثل القسمة على صفر، وتؤدي إما لإلغاء تشغيل البرنامج فوراً (Fatal) أو استمراره بنتائج خاطئة (Nonfatal).
الأخطاء المنطقية (Logic Errors)
أخطاء البرمجة التي تسمح للبرنامج بالترجمة والتشغيل دون توقف ولكنه ينتج نتائج غير صحيحة بسبب خطأ في تصميم الخوارزمية.
الخوارزمية (Algorithm)
إجراء محدد لحل مشكلة ما يتكون من الخطوات والأفعال الواجب تنفيذها والترتيب الدقيق لتنفيذ تلك الأفعال.
الكود الزائف (Pseudocode)
لغة وصفية غير رسمية تساعد المبرمجين على صياغة الخوارزميات وتطويرها دون الالتزام بالقواعد الصارمة لبناء الجمل البرمجية (Syntax).
العامل الشرطي الثلاثي (Conditional Operator ?:)
المعامل الثلاثي الوحيد في Java ويُستخدم كبديل مختصر وصريح لجملة الاختيار if…else.
التمرير بالقيمة (Pass-By-Value)
طريقة نقل الحجج في Java حيث يتم تقديم نسخة من قيمة المتغير إلى الدالة المبتعثة، فلا تؤثر التغييرات داخل الدالة على المتغير الأصلي.
تحميل الدوال الإضافي (Method Overloading)
إعلان عدة دوال في نفس الكلاس تمتلك نفس الاسم ولكنها تختلف في أنواع أو أعداد البرامترات المُمررة لها.
التغليف (Encapsulation)
أحد مبادئ البرمجة الكائنية يدمج البيانات (الخصائص) والدوال (السلوكيات) في وحدة واحدة (الكلاس) ويخفي تفاصيل التنفيذ عن الخارجي (Information Hiding).
المرجع this (this Reference)
مرجع ضمني داخل كائن الكلاس يشير إلى الكائن الحالي، ويُستخدم للتمييز بين متغيرات الكلاس والمتغيرات المحلية التي تحمل نفس الاسم.
التركيب (Composition)
طريقة تصميم تحتوي فيها الكلاسات على مراجع لكائنات من كلاسات أخرى كأعضاء لديها، وتوصف بعلاقة الاستحواذ (has-a).
جامع القمامة (Garbage Collection)
عملية تلقائية تقوم بها منصة Java لإعادة استرداد الذاكرة التي كانت تشغلها الكائنات التي لم يعد بالإمكان الوصول إليها أو استخدامها.
الوراثة (Inheritance)
آلية تسمح لكلاس جديد (Subclass) باكتساب الخصائص والسلوكيات من كلاس موجود مسبقاً (Superclass)، وتُعرف بعلاقة (is-a).
إعادة كتابة الدوال (Method Overriding)
إعادة تعريف دالة في الكلاس الابن بنفس الاسم والبرامترات ونوع الإرجاع الموصف في الكلاس الأب لتقديم سلوك مخصص.
تعدد الأشكال (Polymorphism)
قدرة الكائنات التابعة لكلاسات مختلفة في نفس تسلسل الوراثة على الاستجابة لطلبات الدوال الموحدة بطرق مخصصة لكل منها.
الكلاس التجريدي (Abstract Class)
كلاس غير مكتمل لا يمكن إنشاء كائنات منه مباشرة باستخدام new، ويُستخدم ككلاس أساسي لإجبار الكلاسات المشتقة على تنفيذ دواله التجريدية.
الواجهة (Interface)
هيكل تجريدي كامل يحتوي على دوال بدون أجسام، ويُنفذ بواسطة الكلاسات باستخدام الكلمة المفتاحية implements لتوفير التزام بسلوكيات معينة.
الاستدعاء الذاتي / العودية (Recursion)
تقنية برمجية تقوم فيها الدالة باستدعاء نفسها لتجزئة المشكلة إلى مشاكل أصغر حتى الوصول إلى شرط التوقف الأساسي (Base Case).
الحالة الأساسية (Base Case)
الحالة الأبسط في خوارزمية التراجع العودي التي تستطيع الدالة حلها مباشرة بدون الحاجة لإجراء استدعاء عودي آخر، وتضمن إنهاء العملية العودية.