برمجة إجرائية

البرمجة الإجرائية  هي نمط برمجة مشتقة من البرمجة الهيكلية تستند إلى مفهوم إستدعاء الإجراء، وما الإجراء إلا سلسلة من الخطوات الحسابية التي يتعين الاضطلاع بها، والتي يمكن استدعاؤها في أي وقت أثناء تنفيذ البرنامج، من قبل إجراءات أخرى أو من قبل الإجرائية ذاتها.

وتشمل البرمجة الاجرائية اللغات التالية : فورتران وكوبول وسي وباسكال وبيسيك 

في الحقيقة هذا النمط من انماط البرمجة يملك عدة أسماء فالتسمية الرئيسية لهذا النمط من انماط لغات البرمجة يدعى اللغة الإجرائية كونها تعتمد الاجرائيات ويمكن ان تدعى باللغة الأمرية وذلك من كونها لغة امرية بحيث تعتمد على تلقين الحاسب الحل خطوة بخطوة كما قد نجد تسمية البرمجة الهيكلية بحيث تعتمد على مفهوم استدعاء الاجرائيات أو كما هي معروفة بالروتين.

تعتمد هذه اللغة عدة مبادئ:
تقسيم البرنامج إلى عدة اقسام جزئية لتسهيل القراءة واعادة الاستخدام تسمى هذه الاجزاء بعدة أسماء:
 Procedures اجراءات
 functions توابع
 methods منهجيات
 routines روتينات
 subroutines روتينات فرعية
توصيف حل المشكلة خطوة بخطوة والتي تعد من مساوئ هذا النمط حيث يجب على المبرمج ان يقوم بحل المشكلة المتناولة بنفسه وليس الحاسب.

هذا النمط كان يعتبر الجيل الثالث من انماط البرمجة.

المقارنة مع اللغات الأمرية 
اللغات الاجرائية هي أيضاً لغات أمرية كون النمطين يملكان مؤشر للحالة الحالية بشكل واضح في بيئة التنفيذ.

المقارنة مع اللغات الكائنية 
إن الهدف الرئيسي للبرمجة الاجرائية هو تقسيم مهام البرنامج إلى عدة تفرعات تسهل عمل المبرمج سواء كان ذلك التقسيم بمجموعة متحولات أو بنى معطيات أو توابع، بينما في لغات البرمجة الكائنية فإنه يتم تقسيم مهام البرنامج إلى كائنات وكل كائن يتم تغليفه بمتحولاته وتوابعه الخاصة فيه.

الفرق الرئيسي بين النمطين هو أن البرمجة الاجرائية تقوم بالعمليات على بنى المعطيات المتوفرة بينما في النمط كائني التوجه تتم العمليات على حزم مكونة من الغرض وبنى المعطيات الخاصة فيه.

التسميات تتغير بين النمطين على الرغم من انهما يملكان نفس الدلالات
 object-oriented 	procedural
 method function
 object module
 message 	function call
 attribute variable

المقارنة مع اللغات المنطقية 
(logic) في لغات البرمجة المنطقية البرنامج هو عبارة عن مجموعة من قضايا أو حقائق منطقية وقواعد دلالية، العمليات الحسابية تتم محاولة إيجاد برهان النظرية. من وجهة النظر هذه فإن لغات البرمجة المنطقية هي لغات تصريحية (declarative) تركز بشكل أساسي على ماهية المشكلة أكثر من كونها تركز على الحل بحد ذاته.

بكل الأحوال تستخدم اللغات المنطقية تكتيك السلسلة الخلفية لعملية الاستنتاج (backward reasoning) يتم التعامل مع البرنامج على انه تساؤل يجب الإجابة عليه والبحث عن اجابته.

تعتمد اللغات المنطقية على قوانين هورن الممثلة بالشكل التالي:

H :- B1, …, Bn.

بحيث H هو الدالة الهدف و B1...n هي قضايا يجب البحث عن حلها لحل القضية الرئيسية

ويمكن تأويلها بشكل إجرائي على الشكل:

كي تحل\تظهر H اظهر\حل B1 وقم بحل\اظهار B2...... إلى Bn

وبلغة المنطق الرياضي يمكن القول الجملة السابقة تكافئ:

B1 and … and Bn → H

مبرمجي اللغات المنطقية المحترفين يستخدمون تفسيرات اجرائية ليكتبو برامجهم وتفسيرات تصريحية للتأكد من خلو الهدف من اخطاء والوصول للهدف.

مراجع 

أنماط برمجة