برمجة إجرائية
هونمط برمجة مشتق من البرمجة الهيكلية يستند إلى مفهوم استنادىء الإجراء، وما الإجراء إلا سلسلة من المراحل الحسابية التي يتعين الاضطلاع بها، والتي يمكن استنادىؤها في أي وقت أثناء تطبيق البرنامج، من قبل إجراءات أخرى أومن قبل الإجرائية ذاتها.
في الحقيقة هذا النمط من انماط البرمجة يملك عدة اسماء فالتسمية الرئيسية لهذا النمط من انماط لغات البرمجة يدعى Procedural programming اي لغة اجرائية كونها تعتمد الاجرائيات ويمكن ان تدعى ب imperative programming اي لغة امرية وذلك من كونها لغة امرية بحيث تعتمد على تلقين الحاسب الحل خطوة بخطوة كما قد نجد تسمية structured programming اي برمجة هيكلية بحيث تعتمد على مفهوم استنادىء الاجرائيات اوكما هي معروفة بالروتين .
تعتمد هذه اللغة عدة مبادىء : تقسيم البرنامج الى عدة اقسام جزئية لتسهيل القراءة واعادة الاستخدام تسمى هذه الاجزاء بعدة اسماء : Procedures اجراءات functions توابع methods منهجيات routines روتين subroutines روتين فرعي توصيف حل المشكلة خطوة بخطوة والتي تعد من مساوىء هذا النمط حيث يجب على المبرمج ان يقوم بحل المشكلة المتناولة بنفسه وليس الحاسب .
هذا النمط كان يعتبر الجيل الثالث من انماط البرمجة.
المقارنة مع اللغات الامرية imperative
اللغات الاجرائية هي أيضاً لغات امرية كون النمطين يملكان مؤشر للحالة الحالية بشكل واضح في بيئة التطبيق .
المقارنة مع اللغات غرضية التوجه object-oriented
ان الهدف الرئيسي للبرمجة الاجرائية بتقسيم مهام البرنامج الى عدة تفرعات تسهل عمل المبرمج سواء كان ذلك التقسيم بمجموعة متحولات اوبنى معطيات اوتوابع بينما في اللغات غرضية التوجه فإنه يتم تقسيم مهام البرنامج الى اغراض objects وكل غرض يتم تغليفه بمتحولاته وتوابعه الخاصة فيه .
الفرق الرئيسي بين النمطين هوان البرمجة الاجرائية تقوم بالعمليات على بنى المعطيات المتوفرة بينما في النمط غرضي التوجه تتم العمليات على حزم مكونة من الغرض وبنى المعطيات الخاصة فيه .
التسميات تتغير بين النمطين على الرغم من انهما يملكان نفس الدلالات
object-oriented procedural
method function
object module
message function call
attribute variable
المقارنة مع اللغات المنطقية Logic programming
في لغات البرمجة المنطقية البرنامج هوتعبير عن مجموعة من قضايا اوحقائق منطقية وقواعد دلالية ,العمليات الحسابية تتم محاولة إيجاد برهان النظرية . من وجهة النظر هذه فإن لغات البرمجة المنطقية هي لغات declarative تصريحية هجرز بشكل اساسي على ماهية المشكلة اكثر من كونها هجرز على الحل بحد ذاته .
بكل الاحوال تستخدم اللغات المنطقية تكتيك السسلة الخلفية لعملية الاستنتاج backward reasoning يتم التعامل مع البرنامج على انه تساؤل يجب الاجابة عليه والبحث عن اجابته .
تعتمد اللغات المنطقية على قوانين هورن الممثلة بالشكل التالي :
H :- B1, …, Bn.
بحيث H هوالدالة الهدف وB1...n هي قضايا يجب البحث عن حلها لحل القضية الرئيسية
ويمكن تأويلها بشكل إجرائي على الشكل :
كي تحل\تظهر H اظهر\حل B1 وقم بحل\اظهار B2 ...... الى Bn
وبلغة المنطق الرياضي يمكن القول الجملة السابقة تكافىء :
B1 and … and Bn → H
مبرمجي اللغات المنطقية المحترفين يستخدمون تفسيرات اجرائية ليخطوبرامجهم وتفسيرات تصريحية للتأكد من خلوالهدف من اخطاء والوصول للهدف .