Ebben a cikkben a Procedurális programozás sokkoló történetét tárjuk fel, amely téma világszerte felkeltette az emberek figyelmét. Az idő múlásával a Procedurális programozás számos ember életében döntő szerepet játszott, nemcsak tetteikre, hanem gondolataikra és érzelmeikre is hatással volt. Reméljük, hogy egy részletes és kimerítő elemzéssel megvilágítjuk a Procedurális programozás különböző aspektusait, az eredetétől a jelenlegi vonatkozásaiig. Ez a cikk holisztikus képet kíván adni az olvasónak a Procedurális programozás-ről, azzal a céllal, hogy elősegítse ennek a lenyűgöző témának a mélyebb és gazdagabb megértését.
A procedurális (vagy eljárásorientált) programozás egy programépítési alapelv, alapja a modularitás és a hatókör.
Lényege, hogy a megoldandó programozási feladatot kisebb egységekből, avagy eljárásokból (angolul: procedure) építi fel. Ezek az eljárások a programnyelv kódjában általában jól körülhatárolt egységek (függvény, rutin, szubrutin, metódus – az elnevezés az adott programozási nyelvtől függ), amelyeknek van elnevezésük és jellemezhetik őket paraméterek és a visszatérési értékük. A programok futtatása során gyakorlatilag a főprogramból ezek az eljárások kerülnek sorozatosan meghívásra. Meghíváskor meghatározott paraméterek átadására kerül sor, az eljárás pedig a benne meghatározott logika eredményeként általában valamilyen visszatérési értéket ad vissza, aminek függvényében a főprogram további eljáráshívásokat végezhet.
A procedurális programozás jól ötvözhető a strukturált programozás eszközeivel, ugyanakkor az objektumorientált paradigmával szemben itt háttérbe szorulnak a komplex adatszerkezetek, amikkel a való világ könnyebben modellezhető lenne.
A program központi eleme egy főprogram, ami a különböző részfeladatokat megvalósító eljárások meghívásainak szekvenciájából áll. A program elkészítése során az első lépés a program komplexebb feladatának felbontása a részfeladatokra, amelyekből az eljárások születnek majd. Ezeknek a meghívására lehetőség van ciklusokkal, feltételekhez kötött elágazásokkal és az is megoldható, hogy a meghívott részfeladat eljárása is egy másik alfeladatot megvalósító eljárást hív meg.