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