ملخص المحتوى
لغات البرمجة – شرح تعريفها وأنواعها وتقسيماتها بحسب المستوى والأهداف وخصوصية الأجهزة، تطور اللغة وخصائصها، لغات البرمجة عالية المستوى.
المحتويات
ما هي لغات البرمجة
لغات البرمجة ومفردها لغة البرمجة، (بالإنجليزية Programming language)، هي مجموعة من الأوامر والتعليمات التي تُكتب وفق قواعد محددة بحسب كل لغة، ومن ثم تمر هذه الأوامر بعدة مراحل إلى أن يتم تنفيذها من جهاز الكمبيوتر.
ولكن جهاز الحاسوب، مثله مثل أي جهاز كهربائي، لا يفهم إلاّ لغة الآلة التي تعتمد نظام العد الثنائي (0، 1) المناظرة لحالتي (الإيقاف، التشغيل) On-Off التي تعبر عن إيقاف أو تشغيل الآلة من قبل الإنسان.
فالكمبيوتر لا يفهم أية لغات أخرى بشرية، وبالتالي ظهرت الحاجة إلى ابتكار وتطوير لغات يمكن أن يفهمها جهاز الكمبيوتر.
وأطلق على هذه اللغات اسم لغات البرمجة، والتي تسهل التخاطب مع الكمبيوتر وتوجيه الأوامر والتعليمات له ليقوم بتنفيذها بنفس الطريقة التي نتعامل معه بها عند تشغيله أو إيقافه.
أنواع لغات البرمجة
توجد أنواع مختلفة من اللغات المستخدمة في البرمجة، ويمكن تقسيم هذه الأنواع المختلفة بحسب معيار قربها من اللغة البشرية أو من لغة الآلة، من حيث المفردات المستخدمة فيها والقواعد الأساسية المستخدمة في صياغتها.
وتنقسم اللغات وفق هذا المعيار إلى نوعين كما يلي:
- لغات أقرب إلى لغة الآلة
- لغات أقرب إلى لغة البشر
من جهة أخرى، يمكن تقسيم اللغات إلى أنواع مختلفة بحسب معايير أخرى، مثل تقسيمها بحسب الأغراض أو الأهداف التي صُممت من أجلها، أو تقسيمها بحسب خصوصية الأجهزة التي تعمل عليها وهكذا. وفيما يلي تفاصيل هذه التقسيمات:
مستويات لغات البرمجة
بالنظر إلى تقسيم أنواع لغات البرمجة وفقًا لمعيار قربها من اللغة البشرية، فقد اصطلح على تقسيم أنواع اللغات وفقًا لهذا المعيار إلى نوعين كما يلي:
- لغات برمجة منخفضة المستوى
- ولغات برمجة عالية المستوى
لغات البرمجة منخفضة المستوى
وهي لغات قريبة من لغة الآلة ولا يفهمها إلاّ المتخصصين، ومن أمثلتها لغة التجميع (بالإنجليزية: Assembly Language).
لغات البرمجة عالية المستوى
وهي لغات قريبة من اللغة التي يفهمها البشر، ومن أمثلتها لغة باسكال (Pascal).
أهداف لغات البرمجة
يمكن تقسيم لغات البرمجة بحسب الأغراض أو الأهداف التي تم تصميم اللغة من أجلها. مثل تقسيمها إلى لغات:
- برمجة قواعد البيانات
- برمجة تطبيقات الأندرويد
- وبرمجة صفحات الإنترنت
- برمجة وتصميم مواقع شبكة الإنترنت
- برمجة وتطوير الألعاب
- .. وهكذا.
خصوصية لغة البرمجة
يمكن تقسيم اللغات المستخدمة في البرمجة بحسب خصوصية الأجهزة التي تعمل عليها، مثل لغة برمجة الهواتف الذكية ولغة برمجة أجهزة إلكترونية خاصة بالطائرات مثلا، ولغات أخرى أكثر عمومية تعمل
بشكل مستقل عن نوع الجهاز وأيًا كان نوعه.
تعريف البرمجة
يمكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الكمبيوتر أو أي جهاز إلكتروني آخر، من أجل توجيهه وإعلامه بكيفية تنفيذ سلسلة من المهام المطلوبة أو كيفية التعامل مع البيانات.
ومثل اللغات البشرية التي لها قواعد ينبغي اتبعاها عند الكتابة بأي منها، فإن كل لغة من اللغات المستخدمة في البرمجة أيضًا لها قواعد خاصة Syntax التي ينبغي على المبرمج الالتزام بها عند البرمجة باستخدامها وكتابة التعليمات والأوامر الموجهة لجهاز الكمبيوتر.
ويُلاحظ أنه عند مخالفة المبرمج لأي من تلك القواعد تظهر له رسالة تفيد بوجود خطأ في القواعد التي تحكم لغة البرمجة المستخدمة في تعبير مختصر باللغة الإنجليزية هو (Syntax Error).
تطور لغات البرمجة
إن اللغات في حالة تطور مستمر بحسب تطور أجهزة الكمبيوتر أو المكونات المادية للكمبيوتر (بالإنجليزية: Hardware).
ففي بدايات ظهور الكمبيوتر في الأربعينيات من القرن الماضي كان الكمبيوتر يعمل بأعداد كبيرة من الصمامات الإلكترونية وكانت اللغات المستخدمة في البرمجة معقدة هي الأخرى وأقرب إلى لغة الآلة، حيث كانت تُستخدم فيها سلسلة من الأعداد في نظام العد الثنائي وتُكتب على شكل أكواد برمجية طويلة.
وكانت البرمجة آنذاك عملية صعبة على المبرمجين.
ولكن مع ابتكار الترانزيستور صغر حجم الكمبيوتر وزادت إمكانياته، واستطاع المختصون والمبرمجون في نفس الوقت أن يبتكروا لغات برمجة أقرب إلى لغات البشر وأسهل للاستخدام، وأصبحت اللغات مفهومة إلى حد كبير للمبرمجين المتخصصين.
ولا تزال مسيرة التطوير مستمرة في اللغات المختلفة.
خصائص لغات البرمجة والفرق بينها
كل لغة لها خصائصها التي تميزها عن اللغات الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج والمهمات المطلوبة من هذا البرنامج.
ولكن هناك خصائص وحدود مشتركة بين كل اللغات بحكم أن كل هذه اللغات صممت خصيصًا للتعامل مع الكمبيوتر أو الحاسوب بغض النظر عن الفرق بينها.
وحيث أن لغات البرمجة هي بالأساس بيئات مخصصة للمبرمج يستخدمها في كتابة برنامجه في هيئة تعليمات وأوامر يفهمها الكمبيوتر بغرض تنفيذ العمل المطلوب، ثم يقوم الكمبيوتر بتحويل اللغة المكتوبة بها إلى سلسلة من الأرقام التي يفهمها في نظام العد الثنائي (0، 1)، ويبدأ على أساسها عمله.
وتوفر لغة البرمجة المختارة مجموعة من الأمور الأساسية للاستناد إليها أثناء عملية تكوين البرنامج ومجموعة من القواعد Syntax التي تمكن من التعامل مع البيانات وتنظيمها بغرض أداء العمل المطلوب.
وتتمحور هذه الأسس والقواعد بصفة عامة حول كل من الخصائص المميزة التالية:
- المعلومات وتخزينها
- الأوامر وتنظيم سيرها
- التصميم الخاص باللغة
1. المعلومات وتخزينها
يحتفظ الكمبيوتر بكل أنواع البيانات – على اختلافها – في صورة أرقام، فالأرقام يسهل تمثيلها في الدوائر الكهربية، 0/1 أو يقابلها Off/On.
والدائرة الكهربية المغلقة يرمز لها بالرقم 1 والدائرة الكهربية المفتوحة يرمز لها بالرمز 0.
والدوائر الكهربية المتكاملة التي تتألف منها ذاكرة الكمبيوتر تتكون من خلايا صغيرة تستطيع اختزان الرقم 1 أو الرقم 0 حسب ما إذا كانت الدائرة مغلقة أو مفتوحة وبنفس المبدأ.
والرقم 1 أو الرقم 0 يسمى بت Bit اختصارًا لمصطلح النظام الثنائي (باللغة الإنجليزية: Binary digiT)، ومن الواحد والصفر أمكن بناء شفرة رقمية لتمثيل سائر الأعداد والحروف والعلامات الخاصة المستخدمة في الكتابة، بحيث يمكن تمثيل كل منها في ثمانية “بتات” (باللغة الإنجليزية: 8 bits)، وهي تسمى معًا بايت (بالإنجليزية: Byte) وهي من وحدات القياس المستخدمة لقياس الذاكرة.
وتمثل وظيفة لغة البرمجة استغلال وحدة أو مجموعة من الوحدات أو الرموز لتخزين معلومات معينة من الحياة الواقعية مثل الأسماء أو القياسات أو أرقام الهاتف أو حتى الصور.
2. الأوامر وتنظيم سيرها
يقوم المبرمج بإجراء عمليات على وحدات المعلومات مثل تخزينها وقراءتها ومقارنتها، كما يمكن إجراء عمليات حسابية عليها أيضا، وتتبع هذه العمليات القواعد المحددة للغة.
وللغة البرمجة دور آخر وهو التحكم في تنظيم إجراء العمليات وسيرها، حيث توجه تنفيذ خطواتها بنفس تتابع كتابتها من طرف المبرمج. كما تمكّن لغة البرمجة أيضًا من إجراء عملية اختيار وتفرع عن المسار الأصلي لهذا التتابع، وذلك بإدخال شرط منطقي يقوم الكمبيوتر على أساسه باختيار اتجاه الاستمرار في أداء العمل.
مثلا، إذا كان البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستخدم، وإظهار النتيجة على الشاشة. فمن المعروف أن القسمة على صفر لا تجوز.
وبناء على ذلك فلا بد أن يدخل المبرمج في برنامجه جملة برمجية لاختبار عملية القسمة قبل إجراؤها.
فإذا كان القاسم مخالفًا للصفر، فإن البرنامج يستمر فيقوم بإجراء العملية ويعطي النتيجة.
أما إذا كان القاسم صفرًا فإن البرنامج لا يقوم باجراء العملية وإنما ينبه إلى أن المستخدم حاول القسمة على صفر.
كما يمكن للغة البرمجة تنظيم الأوامر بأساليب أخرى، مثلما يحدث عند طلب تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة حلقية يطلق عليها في لغة البرمجة تسمية “حلقة” (بالإنجليزية: Loop).
ويمكن تقسيم الأوامر أيضًا إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد.
والهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة في هيئة دورات حلقية أو (بالإنجليزية: Loops).
3. التعامل مع المعطيات
تتمتع كل لغة بتصميم خاص من حيث التعامل مع المعطيات، ومن حيث الطرق والتسهيلات التي توفرها اللغة للتعامل مع المسائل المختلفة من حيث الأشياء والإجراءات.
ويمكن تصنيف اللغات من حيث طريقة بناء البرامج إلى:
لغات إجرائية
مثل لغات بيسك وفورتران أو (بالإنجليزية: Basic, Fortran) وهي لغات تسلسلية أساس بناؤها هو الإجراءات المطلوب تطبيقها على المعطيات والمتحولات.
لغات شيئية
مثل لغات سي وجافا وديلفي أو (بالإنجليزية: C, Java, Delphi) وهي لغات لاتسلسلية.
وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج والمطلوب تحويلها من خلال تطبيق مجموعة معينة من الإجراءات عليها.
لغات البرمجة عالية المستوى
فيما يلي قائمة من أهم لغات البرمجة عالية المستوى والمتخصصة في البرمجة لأغراض متعددة ومجالات متنوعة:
- لغة سي
- لغة سي++ C Plus Plus
- ولغة سي شارب (سي #) #C
- جافا Java
- ليسب LISP
- برولوغ Prolog
- بايثون Python
- فورتران Fortran
- روبي Ruby
- أدا ADA
- دلفي Delphi
- بيسك Basic
- كوبول Cobol
- باسكال Pascal
- إس كيو إل SQL
- بي إتش بي PHP
- جافا سكربت Java Script
- جيم GIM
- لغة لوغو Logo
لغة برمجة بايثون نموذجًا
لمزيد من القراءة المتخصصة حول أحد اللغات البرمجية الحديثة، يمكن قراءة موضوع:
موسوعة علوم الكمبيوتر – مركز البحوث والدراسات متعدد التخصصات
أسئلة شائعة
ما هي لغات البرمجة؟
لغات البرمجة ومفردها لغة البرمجة، (بالإنجليزية Programming language)، هي مجموعة من الأوامر والتعليمات التي تُكتب وفق قواعد محددة بحسب كل لغة، ومن ثم تمر هذه الأوامر بعدة مراحل إلى أن يتم تنفيذها من جهاز الكمبيوتر.
ما هي أنواع لغات البرمجة؟
يمكن تقسيم أنواع لعات البرمجة بحسب معيار قربها من اللغة البشرية أو من لغة الآلة، وذلك من حيث المفردات المستخدمة فيها والقواعد الأساسية المستخدمة في صياغتها، وهي تنقسم وفق هذا المعيار إلى نوعين:
1. لغات أقرب إلى لغة الآلة: وهي ما اصطلح على تسميته لغات منخفضة المستوى
2. لغات أقرب إلى لغة البشر: وهي ما اصطلح على تسميته لغات عالية المستوى
أشهر لغات البرمجة عالية المستوى هي؟
من أشهر اللغات عالية المستوى:
لغة سي C
سي++ C Plus Plus
سي شارب (سي #) #C
جافا Java
ليسب LISP
برولوغ Prolog
بايثون Python
المراجع
- موسوعة تعليم البرمجة، لغة برمجة بايثون نموذجًا. إعداد: د. م. مصطفى عبيد، إسطنبول، 2022.