Proseduuriohjelmointi on ohjelmointia imperatiivisella kielellä , jossa peräkkäin suoritettavat käskyt voidaan koota aliohjelmiksi eli suuremmiksi integroiduiksi koodiyksiköiksi käyttämällä kielen itsensä mekanismeja [1] .
Proseduuriohjelmointi on heijastus perinteisestä tietokonearkkitehtuurista , jota Von Neumann ehdotti 1940 - luvulla. Turingin kone toimii teoreettisena mallina proseduuriohjelmoinnissa . Ohjelman suoritus pelkistetään operaattorien peräkkäiseen suorittamiseen, jotta muistin alkutila, eli alkutietojen arvot, muunnetaan lopulliseksi tilaan, eli tuloksiin. Siten ohjelmoijan näkökulmasta on olemassa ohjelma ja muisti, joista edellinen päivittää peräkkäin jälkimmäisen sisällön.
Proseduuriohjelmointikielen avulla ohjelmoija voi määritellä jokaisen vaiheen ongelman ratkaisuprosessissa. Tällaisten ohjelmointikielten erikoisuus on, että tehtävät jaetaan vaiheisiin ja ratkaistaan askel askeleelta. Proseduurikieltä käyttämällä ohjelmoija määrittelee kielikonstruktit suorittamaan algoritmisten vaiheiden sarjan. Tärkeä askel prosessiohjelmoinnin kehityksessä oli siirtyminen rakenteelliseen paradigmaan , joka syntyi, kun löydettiin mahdollisuus luoda Turingin täydellisiä ohjelmia ilman ehdotonta hyppyoperaattoria ( Boehm-Jacopini-lause ).
Useimmat varhaiset pakolliset ohjelmointikielet, mukaan lukien Fortran , Cobol , Algol , BASIC , C , PL/1 , Pascal , Forth , ovat proseduurillisia; myöhempiä imperatiivisia kieliä, erityisesti niitä, jotka toteuttavat olioparadigmaa ( Smalltalk , C++ , Java ), ei pääsääntöisesti luokitella proseduuriksi, koska periaate suorituslohkojen järjestämisestä alirutiineihin on toteutettu niissä eri abstraktiotasolla. Proseduraalisen lähestymistavan tiettyä elpymistä havaitaan useissa komentosarjakielissä ( Tcl , Perl , Lua , shell - kielet ), mutta useimmat niistä ovat moniparadigmaisia - ne voivat myös luoda ohjelmia ei-proseduurityyleissä (oliosuuntautunut, toiminnallinen ).