البرمجة المُهيكَلَة (Structured Programming) هي ذلك الفرع الذي يعتبر مجموعة فرعية أو نظام فرعي يندرج تحت البرمجة الأمرية.[1][2][3]
التاريخ
خلال الستينيات، برزت العديد من العقبات القاسية في طريق تطوير برمجيات ضخمة. وكان هذا يؤدي إلى تأخر في مواعيد إنجاز الأعمال المطلوبة، وإلى تكاليف مالية كبيرة تتجاوز الميزانيات المخصصة، وإلى الخروج بمنتج برمجي غير موثوق. وكانت النتيجة الاقتناع بأن عملية التطوير البرمجي هي عملية أكثر تعقيداً مما كانوا يعتقدون سابقاً. ولقد أثمرت جهود البحث العلمي في تلك الحقبة تطوير أسلوب البرمجة المهيكلة، وهو طريقة لكتابة برامج أكثر وضوحاً من مثيلاتها غير المهيكلة وأكثر قابلية للفحص والتصحيح والتعديل.
تتمثل إحدى أبرز النتائج الملموسة للأبحاث السابقة في تطوير لغة البرمجة باسكال من قبل نيكولاس ريث سنة 1971 م. صممت لغة باسكال التي تحمل اسم رياضي وفيلسوف القرن السابع عشر بليز باسكال من أجل تعليم البرمجة الهيكلية في المؤسسات التعليمية والأكاديمية لكنها سرعان ما أصبحت اللغة المفضلة الأولى في معظم الجامعات. ولكن هذه اللغة تعاني لسوء الحظ ضعفاً في العديد من الإمكانات اللازمة حتى تصبح مفيدة تجارياً أو صناعياً أو على نطاق التطبيقات الحكومية، وهذا ما جعلها غير مقبولة ضمن هذه الأوساط.
لغة أيدا
بعدها تم تطوير لغة البرمجة أيدا (ADA) بدعم من وزارة الدفاع في الولايات المتحدة الأمريكية خلال المدة من بداية السبعينيات حتى بداية الثمانينيات. تم استخدام مئات اللغات التي لا يوجد أي علاقة فيما بينها من أجل تطوير أنظمة الأوامر والتحكم الضخمة الخاصة بوزارة الدفاع الأمريكية التي كانت تبحث عن لغة وحيدة تسدّ معظم حاجاتها. وسميت هذه اللغة باسم السيدة آدا لوفلايس ابنة الشاعر لورد بايرون التي اشتهرت في العالم بأنها أول من كتب برنامجاً في بداية القرن التاسع عشر (من أجل الجهاز الميكانيكي للحساب ذي المحرك التحليلي الذي صممه تشارلز بابيج).
تعتبر خاصية تعدد المهام إحدى أبرز مقدرات لغة أيدا التي تسمح للمبرمجين بتوصيف عدة مهام يمكن أن تنفذ على التوازي. في حين تسمح لغات البرمجة الأخرى التي تحدثنا عنها، ومنها لغة C ولغة ++C للمبرمجين، بكتابة برامج تنفذ مهمة واحدة على الأكثر في نفس الوقت.
المصادر
- "معلومات عن برمجة مهيكلة على موقع catalogue.bnf.fr". catalogue.bnf.fr. مؤرشف من الأصل في 10 يوليو 2019.
- "معلومات عن برمجة مهيكلة على موقع d-nb.info". d-nb.info. مؤرشف من الأصل في 13 ديسمبر 2019.
- "معلومات عن برمجة مهيكلة على موقع id.loc.gov". id.loc.gov. مؤرشف من الأصل في 28 مايو 2010.
- Edsger Dijkstra, Notes on Structured Programming, pg. 6
- Corrado Böhm|Böhm, C. and Jacopini, G.: Flow diagrams, Turing machines and languages with only two formation rules, CACM 9(5), 1966.
- Michael A. Jackson, Principles of Program Design, Academic Press, London, 1975.
- Ole-Johan Dahl|O.-J. Dahl, E. W. Dijkstra, C. A. R. Hoare Structured Programming, Academic Press, London, 1972
وصلات خارجية
- BPStruct -أداة يتم استخدامها في البرمجة الهيكلية.