إخترت في هذه المقالة ان اتطرق لأهم موضوع في البرمجة وهو لغات البرمجة
فلا يمكننا الشروع في برمجة تطبيق أو برنامج أو لعبة بدون أن تكون لنا دراية بمجموعة من اللغات أو على الأقل أحدها
فكما أن لنا لغة نتواصل بها فيما بيننا فإن الكمبيوتر أيضا عند إختراعه وضع له البشر لغة يتواصل معه بها
ولكن لغة البرمجة تختلف كثيرا عن لغاتنا العادية التي نعرفها
ولكن ماهو سبب ذلك؟
ببساطة لأن لغتنا تحتوي على عبارات يمكن فهمها بأكثر من معنى واحد
ولكن اللغة التي وضعت للكمبيوتر تشبه لغة الرياضيات بحيث يجب أن تكون لعباراتها معنى واحد
لغة البرمجة عبارة عن مجموعة من الأوامر تكتب وفق مجموعة من القواعد تحدد بواسطة لغة البرمجة، ومن ثم تمر هذه الأوامر بعدة مراحل إلى ان تنفذ على جهاز الحاسوب
تقسم لغات البرمجة بناء على قربها من اللغات الإنسانية إلى لغة عالية المستوى قريبة من اللغة التي يفهمها البشر مثل سي وجافا ولغة منخفضة المستوى كلغة الأسيمبلي Assembly وهي قريبة من لغة الآلة
وتقسم أحيانا بناء على الأغراض المرغوبة من اللغة المستخدمة هناك لغات صُممت لكي تعمل على أجهزة معينة مثل أن تقوم شركة ما بإنتاج جهاز حاسوب أو معالج مركزي CPU وتوفر له دليل استعمال يحتوي على الأوامر التي تنفذ عليه وهناك لغات أخرى أكثر عمومية تعمل بشكل مستقل عن نوع الآلة، أي أنها تعمل ضمن آلة افتراضية Virtual Machine مثل لغة جافا
من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات أو كيفية تنفيذ سلسلة من الأعمال المطلوبة.
تتبع عملية البرمجة قواعد خاصة باللغة التي اختارها المبرمج.
كل لغة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج والمهمة المطلوبة من هذا البرنامج.
كما أن للغات البرمجة أيضاً خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب.
وتتطور لغات البرمجة (البرمجيات Software) بتطور الحاسوب (الهاردوير Hardware). فعندما ابتكر الحاسوب الإلكتروني في الأربعينيات والخمسينيات من القرن الماضي (بعد أجهزة الحساب الكهربائية في العشرينات)- وكان الكمبيوتر يعمل بأعداد كبيرة من الصمامات الإلكترونية - كانت لغة البرمجة معقدة هي الأخرى، وكانت عبارة عن سلسلة من الأعداد وتكتب على شكل اكواد برمجية طويلة هذي الاعداد هي الرقمين الصفر 0 والواحد 1 ، وكان ذلك صعبا على المبرمجين. ولكن بابتكار الترانزيستور صغر حجم الحاسوب كثيرا وزادت إمكانياته، واستطاع المختصون والمبرمجون في نفس الوقت أن يبتكروا لغات برمجة أسهل للاستخدام، وأصبحت لغات البرمجة مفهومة إلى حد بعيد للمختصين. ولا يزال التطوير والتسهيل قائماً.
- خصائص لغة البرمجة
ولكتابة الأوامر توفر لغة البرمجة المختارة مجموعة من اللبنات الأساسية للاستناد عليها خلال عملية تكوين البرنامج ومجموعة من القواعد التي تمكن من التعامل مع معلومات وتنظيمها بغرض أداء العمل المطلوب
تتمثل هذه الأسس والقواعد بصفة عامة في:
المعلومات وتخزينها
الأوامر وتنظيم سيرها
- التصميم الخاص
وتتبع العمليات القواعد المحددة للغة و للغة البرمجة دور آخر وهو التحكم في تنظيم إجراء العمليات حيث توجه تنفيذ خطواتها بنفس تتابع كتابتها من طرف المبرمج
تتمتع كل لغة بتصميم خاص من حيث التعامل مع المعطيات ومن حيث الطرق والتسهيلات التي توفرها اللغة للتعامل مع مشكلة معينة
يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية Basic Fortran وهي لغات تسلسلية أساس بناؤها هو الإجراءات المطلوب تطبيقها على المعطيات والمتحولات ولغات شيئية C و Java و Delphi
وهي لاتسلسلية وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويلها من خلال تطبيق مجموعة معينة من الإجراءات عليها.
أمثلة لغات البرمجة للحاسوب متدنية المستوى :
لغة الآلة (Machine Language)
لغة التجميع(Assembly Language)
- أمثلة لبعض لغات البرمجة للحاسوب عالية المستوى:
سي++
سي #
جافا
ليسب
برولوغ
بايثون
سي شارب
فورتران
روبي
أدا
دلفي
بيسك
كوبول
باسكال
إس كيو إل
بي إتش بي
جافا سكربت
جيم
لغة لوغو Logo
أطلس أوتوكود
لغة دارت