البرمجة هي عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات أو كيفية تنفيذ سلسلة من الأعمال المطلوبة.
وتتبع عملية البرمجة قواعد خاصة باللغة التي اختارها المبرمج. و كل لغة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج والمهمة المطلوبة من هذا البرنامج. كما أن اللغات البرمجية أيضاً لها خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب. وتتطور لغات البرمجة (السوفتوير Software) بتطور الحاسوب (الهاردوير Hardware).
فعندما ابتكر الحاسوب الإلكترونيأي الكمبيوتر في الأربعينيات والخمسينيات من القرن الماضي (بعد أجهزة الحساب الكهربائية في العشرينات)- وكان الكمبيوتر يعمل بأعداد كبيرة من الصمامات الإلكترونية – كانت لغة البرمجة معقدة هي الأخرى، حتي أنها كانت عبارة عن سلسلة من الأعداد لا يدخلها إلا الصفر 0 والواحد 1، وكان ذلك صعبا على المبرمجين. ولكن بابتكار الترانزيستور صغر حجم الحاسوب كثيرا وزادت إمكانياته، واستطاع المختصون في نفس الوقت أن يبتكروا لغات أسهل للاستخدام، وأصبحت لغات البرمجة مفهومة إلى حد بعيد للمختصين.
ولا يزال التطوير والتسهيل دائرا. برمجة الحاسوب: هي عملية كتابة، اختبار، تصحيح للأخطاء وتطوير للشفرة المصدرية لبرنامج حاسوبي يقوم بها الإنسان، تهدف البرمجة إلى إنشاء برامج تقوم بتطبيق وتنفيذ خوارزميات لها سلوك معين بمعنى أن لها وظيفة محددة مسبقا ومتوقعة النتائج. تتم هذه العملية باستخدام إحدى لغات البرمجة. الهدف من البرمجة هو إنشاء برنامج حيث ينفذ عمليات محددة أو يظهر سلوك مطلوب محدد. بشكل عام البرمجة عملية تستلزم معرفة في مجالات مختلفة منها معرفة بالرياضيات والمنطق والخوارزميات.
تجدر الإشارة هنا إلى التذكير بمعنى كلمة لغة وهي طريقة الاتصال والتفاهم بين الأشخاص أو لنقل في حالة الحاسوب الطريقة التي يفهم بها الحاسوب طلب الإنسان. لذلك نجد في حياتنا مجموعة مصطلحات وكلمات يختلف استخدامها حسب الحاجة. لغات البرمجة المختلفة تتمتع بهذه الخاصية أيضا. فهناك الكثير من اللغات البرمجية الموجودة وهذه اللغات تختلف من ناحية عملها وهدفها. لذلك يجب على المبرمج أن يكون ملما ببعض لغات البرمجة وأن يعرف ما هي اللغة المناسبة لتطبيق هذا البرنامج. لغة البرمجة الوحيدة التي يفهمها الحاسوب ويستطيع أن يتعامل معها هي لغة الآلة -machine language-. في البداية عمل المبرمجون على تحليل شفرة الحاسوب –machine code-والتعامل معها بشكلها الجامد وغير المفهوم وهو (0،1). ولكن هذه العملية معقدة جدا ويصعب التعامل معها لعدم فهمها الواضح للبشر ولغموضها لذلك تم ابتكار لغات راقية تعمل كوسيط بين لغة الإنسان ولغة الاّلة وهي لغة التجميع اسمبلي Assembly ثم تطورت للغات عالية المستوى مثل لغات البرمجة المعروفة مثل لغة السي ولغة البيسيك. ثم يتم تشغيل البرامج المكتوبة بهذه اللغات عن طريق أحد البرامج المتخصصة مثل المترجم والمجمع. هذه البرامج تعمل على ترجمة أسطر لغة البرمجة إلى لغة الحاسوب مما يسهل على الحاسوب تنفيذ هذه الأوامر وإخراج النتائج output.لغات البرمجة
البرمجة الحديثة
متطلبات الجودة
لكل نهج في عملية تطوير البرامج, يجب على البرنامج النهائي أن يحقق خصائص جوهرية, مثل:
-
الاعتمادية
-
المتانة
-
الصلاحية
-
القابلية للنقل
-
القابلية للصيانة
-
الفعالية/الأداء
القدرة على قراءة الشفرة المصدرية
في علم الحاسوب, القدرة على القراءة تشير إلى سهولة التي يحتاجها قارئ بشري لفهم هدف, التحكم في تدفق, وعملية الشفرة المصدرية. تؤثر على جوانب الجودة المذكورة اعلاه, بما في ذلك القابلية للنقل, الصلاحية, والأهم القابلية للصيانة.
من العوامل التي تؤثر على القدرة على القراءة:
-
أسلوب المسافة بادئة
-
كتابة التعليقات
-
اتفاقيات التسمية
-
التقسيم