لغة البرمجة عبارة عن مجموعة من الأوامر، تكتب وفق مجموعة من القواعد تحدد بواسطة اللغة، ومن ثم تمر هذه الأوامر بعدة مراحل إلى أن تنفذ على جهاز الحاسوب.
تقسم لغات البرمجة بناء على قربها من اللغات الإنسانية إلى لغة عالية المستوى(قريبة من اللغة التي يفهمها البشر) مثل سي Java جافا ، C و لغة منخفضة المستوى (كلغة الأسيمبلي Assembly وهي قريبة من لغة الآلة).
وتقسم أحيانا بناء على الأغراض لهذه اللغة ، هناك لغات صممت لكي تعمل على أجهزة معينة ، مثل أن تقوم شركة ما بإنتاج جهاز حاسوب أو معالج مركزي CPU، وتوفر له دليل استعمال يحتوي على الأوامر التي تنفذ عليه، وهناك لغات أخرى تعمل بشكل مستقل عن الآلة أي أنها تعمل ضمن آلة افتراضية Virtual Machine ، مثل لغة الجافا Java .
تعريف البرمجة:
من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات أو لتنفيذ فعل معين. و تتبع عملية البرمجة قواعد خاصة باللغة التي اختارها المبرمج. وكل لغة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج والمهمة المطلوبة من هذا البرنامج. كما أن للغات البرمجة أيضاً خصائص وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب.
خصائص لغات البرمجة:
لغة البرمجة هي بالأساس طريقة تسهل للمبرمج كتابة تعليمات برنامجه التي تنفذ العمل المطلوب منه. ولكتابة التعليمات توفر لغة البرمجة المختارة مجموعة من اللبنات الأساسية للاستناد عليها خلال عملية بناء البرنامج ومجموعة من القواعد التي تمكن من التعامل مع معلومات وتنظيم هذه الأسس التي توفرها اللغة لتتكامل و تقوم بعمل مفيد. تتمثل هذه الأسس و القواعد بصفة عامة من:
المعلومات و تخزينها
الأوامر و تنظيم سيرها
التصميم الخاص
المعلومات و تخزينها:
ان المعلومات في الأجهزة الرقمية الحالية يتم تخزينها على أرقام على نظام العد الثنائي و بصفة عامة فان المعالجات الحديثة لا تقوم بالتعامل مع البت الواحد بل مع مجموعات من البتات يمكن أن تضم :
8 بت = بايت وهي أصغر وحدة تخزين معلومات في الحواسيب الحديثة
16, 32, 64, أو 128 بت
و باستعمال 8 بت مثلا, يمكن تشكيل 256 قيمة مختلفة، ويمكن أن تكون هذه القيمة بين 0 و 255 و تمثل وظيفة لغة البرمجة استغلال وحدة أو مجموعة من الوحدات لتخزين معلومات من الحياة الواقعية مثل الأسماء أو القياسات أو أرقام الحسابات البنكية
الأوامر و تنظيم سيرها:
يقوم المبرمج باجراء عمليات على وحدات المعلومات مثل تخزينها و قرائتها و مقارنتها و اجراء عمليات حسابية عليها أيضا، وتتبع العمليات القواعد المحددة للغة. وللغة البرمجة دور آخر وهو التحكم في تنظيم إجراء العمليات، حيث تحرص على اجرائها بنفس تنظيم كتابتها من طرف المبرمج و تمكن اللغة أيضاً من اجراء عملية اختيار وتفرع، فلنفترض أن البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستعمل، و إظهار النتيجة على الشاشة، و من المعروف أن القسمة على صفر لا تجوز، و هنا يقوم البرنامج بالاختيار: فاذا كان القاسم مخالفا لصفر فان البرنامج يقوم باجراء العملية ويعطي النتيجة، أما إذا كان القاسم صفراً فإن البرنامج لا يقوم باجراء العملية وإنما ينبه إلى أن المستعمل حاول القسمة على صفر، و يمكن تنظيم الأوامر بصفة أخرى، حيث يقع تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة (Loop) و يمكن تقسيم الأوامر أيضاً إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد، و الهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة (Loops).
التصميم الخاص:
تتمتع كل لغة بتصميم خاص يختلف عن طريقة كل لغة في التعامل مع المعطيات, و عن طبيعة الطرق و التسهيلات التي توفرها اللغة للتعامل مع مشكلة معينة.يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية (Basic, Fortran) وهي لغات تسلسلية، أساس بناؤها هو الإجراءات المطلوب تطبيقها على الأشياء والمتحولات. ولغات شيئية (C, Java, Delphi) وهي لاتسلسلية، وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويرها، من خلال تطبيق مجموعة معينة من الإجراءات عليها.