لفهم أنواع لغات البرمجة، اسأل عن المعيار المستخدم: قرب اللغة من تعليمات الجهاز، أو أسلوب تنظيم الحل، أو طريقة التنفيذ، أو مجال الاستخدام. هذه معايير مختلفة، ويمكن أن تنتمي اللغة الواحدة إلى أكثر من فئة. لذلك لا تكفي عبارة «لغة مفسرة» لمعرفة أسلوب البرمجة الذي تدعمه أو المهمة التي تناسبها. [1] [2] [3] [5]
المستوى: ما مقدار القرب من الجهاز؟
يضع منهج المهارات الرقمية لغة الآلة ولغة التجميع ضمن اللغات منخفضة المستوى. يفهم الجهاز تعليمات الآلة مباشرة، بينما تحتاج أوامر التجميع إلى مجمع يحولها إلى تلك التعليمات. أما اللغات عالية المستوى فتقدم رموزًا وبنى أبعد عن تفاصيل تعليمات الجهاز. [1]
لا يعني ذلك أن كل لغة منخفضة المستوى مكتوبة بأصفار وآحاد؛ فالتجميع يستخدم أسماء للتعليمات. ولا يعني وصف اللغة بالعالية أنها أفضل لكل مهمة أو أن برنامجها يعمل على أي جهاز تلقائيًا. اسأل عن الأدوات والبيئة التي يحتاجها البرنامج، لا عن الاسم وحده.
الأسلوب: كيف تُنظم الحل؟
يشرح توثيق Python الأسلوب الإجرائي بوصفه تعليمات للعمل على المدخلات، والكائني بتنظيم البيانات والعمليات داخل كائنات، والوظيفي بتقسيم المسألة إلى دوال تنتج مخرجات. ويمكن للغة أن تدعم هذه الأساليب معًا بدل حصرها في أسلوب واحد. [2]
تصور برنامجًا لتسجيل إعارة الكتب: قد تكتب خطوات متتابعة لإضافة الإعارة، أو تنظم بيانات النسخة وعملياتها في كائن، أو تجعل حساب مدة التأخير دالة مستقلة. هذه صور لتقسيم حل واحد، وليست ثلاثة أحكام عن سرعة البرنامج أو قيمة المبرمج.
التنفيذ: الترجمة والتفسير قد يجتمعان
يصف MDN لغة JavaScript بأنها مفسرة أو مترجمة ترجمة آنية، ويبين دعمها أنماطًا متعددة. لذلك لا تجعل الترجمة والتفسير صندوقين يمنع أحدهما الآخر في كل بيئة؛ فقد يستخدم التنفيذ أكثر من آلية. [3]
عند قراءة وصف أداة، ميز بين تجهيز الشيفرة قبل التشغيل وتنفيذها في بيئة التشغيل، وابحث عن معنى «الترجمة الآنية» في توثيق تلك البيئة. لا تستنتج أن كل مفسر يقرأ السطور واحدًا واحدًا، أو أن فئة كاملة أسرع دائمًا؛ المقارنة العملية تحتاج برنامجًا وبيئة محددين.
الاستخدام: ما المهمة التي تخدمها؟
يعرض توثيق Python الاستعلام بلغة SQL مثالًا على الأسلوب التصريحي: يصف الاستعلام البيانات المطلوبة، وتقرر منظومة قاعدة البيانات كيف تنفذه. هذا مختلف عن كتابة قائمة خطوات تفصيلية لكل عملية بحث. [2]
وتذكر جامعة المستقبل طبيعة المشروع وبيئة التشغيل والصيانة ضمن معايير اختيار اللغة. فقولنا «لغة للاستعلام» أو «لتطوير الويب» يصف مجالًا، بينما «عالية المستوى» يصف معيارًا آخر. وقد تمتد اللغة إلى مجالات متعددة؛ لا تجعل المثال حدًا يمنع بقية الاستخدامات. [5]
لغة واحدة، أكثر من وصف صحيح
توضح وثائق Python دعم البرمجة الكائنية والإجرائية والوظيفية. ويذكر MDN أن JavaScript تستخدم في صفحات الويب وفي بيئات خارج المتصفح. تعدد هذه الأوصاف طبيعي؛ كل وصف يجيب عن سؤال مختلف بشأن اللغة أو استخدامها. [3] [4]
لإنشاء بطاقة تعريف مفيدة، اكتب أربعة أسطر: مستوى اللغة، والأساليب التي تدعمها، وطريقة التنفيذ في الأداة المقصودة، والمهمة التي ستستخدمها لها. اترك خانة لا تعرفها للتحقق بدل ملئها من قائمة عامة. بطاقة كهذه أوضح من تصنيف واحد يدعي شرح كل شيء.
تدريب على قراءة التصنيف
افترض أن وصفًا يقول: «نستعمل لغة عالية المستوى، بأسلوب كائني، داخل محرك يدعم الترجمة الآنية، لبناء تفاعل في صفحة». لا يوجد تناقض بين الأوصاف الأربعة: الأول للمستوى، والثاني للتنظيم، والثالث للتنفيذ، والرابع للاستخدام.
ابدأ تعلمك بمهمة صغيرة وبيئة موثقة، ثم راجع التصنيفات التي تساعدك على فهمها. لا تحفظ أمثلة اللغات بوصفها حدودًا ثابتة لكل إصدار وأداة؛ تعلم السؤال الذي يجيب عنه كل تصنيف، ثم طابقه مع توثيق اللغة وبيئة تشغيلها.
المصادر ومتابعة القراءة
- المركز الوطني لتطوير المناهج، الأردن: المهارات الرقمية للصف الحادي عشر، ص11–12 (يفتح في نافذة جديدة)nccd.gov.jo
- توثيق Python: أساليب البرمجة الإجرائية والكائنية والوظيفية والتصريحية (يفتح في نافذة جديدة)docs.python.org
- MDN: JavaScript وتعدد الأنماط والترجمة الآنية (يفتح في نافذة جديدة)developer.mozilla.org
- توثيق Python: التعريف العام ودعم أنماط متعددة (يفتح في نافذة جديدة)docs.python.org
- جامعة المستقبل: لغات البرمجة وتنوع الاستخدامات، 15 مارس 2026 (يفتح في نافذة جديدة)uomus.edu.iq
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
