البرمجة هي عملية كتابة تعليمات وتوجيه أوامر لجهاز الحاسوب أو أي جهاز آخر مثل قارئات أقراص الدي في دي أو أجهزة استقبال الصوت والصورة في نظم الاتصالات الحديثة، لتوجيه هذا الجهاز وإعلامه بكيفية التعامل مع البيانات أو كيفية تنفيذ سلسلة من الأعمال المطلوبة تسمى خوارزمية.
وتتبع عملية البرمجة قواعد خاصة باللغة التي اختارها المبرمج. وكل لغة برمجة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج وحسب المهمة المطلوبة من هذا البرنامج. كما أن اللغات البرمجية أيضا لها خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب. وتتطور لغات البرمجة (السوفتوير Software) بتطور عتاد الحاسوب المرئي (الهاردوير Hardware). فعندما ابتكر الحاسوب في الأربعينيات والخمسينيات من القرن الماضي (بعد أجهزة الحساب الكهربائية في العشرينات) - وكان الكمبيوتر يعمل بأعداد كبيرة من الصمامات الإلكترونية - كانت لغة البرمجة معقدة هي الأخرى، حتى أنها كانت عبارة عن سلسلة من الأعداد لا يدخلها إلا الصفر (0) والواحد (1) وذلك لأن الحاسب يفهم حالتين فقط وجود التيار (1) أو عدم وجوده (0)، وكان ذلك صعبا على المبرمجين. ولكن بابتكار الترانزيستور صغر حجم الحاسوب كثيرا وزادت إمكانياته، واستطاع المختصون في نفس الوقت أن يبتكروا لغات أسهل للاستخدام، وأصبحت لغات البرمجة مفهومة إلى حد بعيد للمختصين. ولا يزال التطوير والتسهيل جاريا وتسمى هذه اللغات سهلة التعامل بالنسبة للمبرمجين باللغات عالية المستوى.
برمجة الحاسوب: هي عملية كتابة، اختبار، تصحيح للأخطاء وتطوير للشيفرة المصدرية لبرنامج حاسوبي يقوم بها الإنسان، تهدف البرمجة إلى إنشاء برامج تقوم بتطبيق وتنفيذ خوارزميات لها سلوك معين بمعنى أن لها وظيفة محددة مسبقا ومتوقعة النتائج. تتم هذه العملية باستخدام إحدى لغات البرمجة. الهدف من البرمجة هو إنشاء برنامج حيث ينفذ عمليات محددة أو يظهر سلوك مطلوب محدد. بشكل عام البرمجة عملية تستلزم معرفة في مجالات مختلفة منها معرفة بالرياضيات والمنطق والخوارزميات.
ويمكن تعريف البرمجة على أنها وسيلة للتواصل بين البشر (المبرمج) والآلة (والتي تتمثل في أي جهاز قابل للبرمجة)، حيث إعتاد البشر على إستخدام اللغات المختلفة مثل اللغة العربية أو الإنجليزية للتواصل فيما بينهم، فقد تم إبتكار مجموعة من اللغات الأخرى (لغات البرمجة) للتواصل بين البشر والآلة، وكما هو الحال بين البشر اللذين يتحدثون بلغات مختلفة حيث يتم إستخدام مترجم ليتمكن البشر من فهم اللغات المختلفة، يتم ذلك أيضا بين البشر والآلة حيث يتم ترجمة لغة البرمجة (التي يفهمها البشر) إلى لغة الآلة والتي تتمثل في الصفر والواحد أو كما تعرف بـ النظام الثنائي وهي اللغة التي تفهمها الآلة عن طريق إستخدام برامج مخصصة لذلك مثل المترجم Compiler أو المفسر Interpreter.
انواعها :-
- لغة البرامج الإجرائية Procedural Programming
- لغة البرمجة الوظيفية Functional Programming
- لغة البرمجة الشيئية OOP Programming
- لغة البرمجة النصية scripting language
- لغة البرمجة المنطقية Logic programming