Imperatívne programovanie

Imperatívne programovanie je jeden zo spôsobov, ako sú v programovacom jazyku formulované riešenia problémov. Imperatívne programovanie  popisuje výpočet pomocou postupnosti príkazov a určuje presný postup (algoritmus), ako danú úlohu riešiť. Program je sadou premenných, takže v závislosti na vyhodnotenie podmienok mení pomocou príkazov svoj stav. Základnou metódou imperatívneho programovania je procedurálne programovanie.

Úvod 
Väčšina hardwarových implementácií programovacích jazykov je u väčšiny počítačov imperatívna. Hardware potom aj tak ako variaci človek vykonáva príkaz za príkazom, presne ako to odpovedá imperatívnemu prístupu. Iba jednotlivé príkazy sú inštrukcie strojového kódu, k jeho vykonávaniu je hardware navrhnutý, a aktuálny stav vyjadruje obsah pamäti. Vyššie imperatívne jazyky potom používajú premenné a komplexnejšie príkazy (teda výrazy a funkcie), avšak stále vyznávajú to samé, imperatívne paradigma.

História 
Prvé imperatívne programovacie jazyky boli strojové jazyky jednotlivých počítačov. V týchto jazykoch boli iba veľmi jednoduché inštrukcie, čo umožňovalo veľmi ľahkú hardwarovú implementáciu, ale komplikovalo to možnosť vytvárať komplexné programy. Prvý jazyk, ktorý odstránil prekážky strojového kódu pre vytváranie komplexných programov, bol FORTRAN, vytvorený Johnom Backusom v spoločnosti IBM v roku 1954. FORTRAN priniesol možnosti (napríklad pomenovanie premenných, zložené výrazy, podprogramy a mnohé ďalšie veci), ako sú súčasti imperatívnych jazykov dodnes. 

Následujúce dve desaťročia priniesli ďalšie významné vyššie programovacie jazyky. Ku koncu 50. rokov a v 60. rokoch sa objavil jazyk ALGOL, pomocou ktorého išlo ľahko programovať matematické algoritmy. Jazyky COBOL (1960) a BASIC (1964) potom boli pokusom prispôsobiť syntax programovacej syntaxi prirodzeného jazyka – angličtine. V 70. rokoch bol Niklausom Wirthom navrhnutý jazyk Pascal. Wirth sa potom ďalej zaoberal jazykmi Modula-2 a Oberon. Koncom 60. rokov vznikol prvý objektový jazyk, Simula. Pre potreby amerického ministerstva obrany začali v roku 1978, po 4 rokoch sumarizovania požiadaviek, začali Jean Ichbiah a tým z Honeywellu vyvíjať jazyk Ada. Špecifikácia bola prvýkrát publikovaná v roku 1983, opráv sa potom dočkala v rokoch 1995 a 2005/6.

V 80. rokoch vzrástol záujem o objektovo orientované programovanie. Vznikajúce jazyky potom vyznávali imperatívny štýl, ale pridávali podporu objektov. Počas posledných dvoch desaťročí 20. storočia ich vzniklo značné množstvo. Bjarne Stroustrup vyvinul jazyk C++, objektovo orientovanú verziu známeho jazyka C. C++ bol prvýkrát implementovaný v roku 1985. Na konci 80.rokov a v 90. rokoch potom vzniklo veľké množstvo imperatívnych jazykov založených na konceptoch objektovo orientovaného programovania. Z významných napríklad Perl (Larry Wall, 1987), Python (Guido van Rossum, 1990) a Java (Sun Microsystems, 1994)

Imperatívne programovacie jazyky 
 A
 ABC
 ALGOL
 ALGOL 68
 ALGOL W
 Ada
 Alma-0
 Atlas Autocode
 B
 Baltazar
 Baltík
 Boo
 Borland Delphi
 C
 C
 COMAL
 Common Lisp
 D
 Dexterity programming language
 Dialog Manager
 DotOrg
 F
 FLACC
 Fortran
 G
 GNU Pascal
 Geometric Description Language
 Glagol
 J
 JAVA
 K
 Kaleidoscope
 Karel
 M
 ML 
 MLton
 Met English
 Modula
 N
 Nemerle
 O
 Oberon-1
 Occam
 P
 PHP
 PL/0
 PL/C
 PL/I
 PL/M
 Parser
 Pascal
 Pascal/mt
 Prospero Pascal
 Q
 QBasic
 R
 Rapira
 Rc
 Roadsend PHP
 S
 SCAR
 SPARK
 Speedcoding
 Standard ML
 Standard ML of New Jersey
 V
 Visual Basic
 X
 XHarbour
 XPL
 Z
 Zeno
 Zonnon

Pozri aj 
 Premenná
 Deklaratívne programovanie
 Objektovo orientované programovanie
 Logické programovanie
 Funkcionálne programovanie

Zdroje 
 Skoupil, D.; Úvod do paradigmat programování. Katedra matematické informatiky, Olomouc, 1994. TR-CS-94-01.
 Abelson, H. – Sussman, G.J.; Structure and Interpretation of Computer Programs. The MIT Press, Cambridge, Massachusetts, 1985. ISBN 0-262-01153-0.
 Dybvig, R. K.; The Scheme Programming Language. Prentice Hall, A Simon and Schuster Company, Upper Saddle River, New Jersey, 1996. 
 Felleisen, M. – Findler, R.B. – Flatt, M. – Krishnamurthi, S.; How to Design Programs: An Introduction to Computing and Programming. The MIT Press, Cambridge, Massachusetts, 2001.
 Manis, V.S. – Little, J.J.; The Schematics of Computation. Prentice Hall, Englewood Cliffs, New Jersey, 1995. ISBN 0-13-834284-9. 
 Springer, G. – Friedman, D.P.; Scheme and the Art of Programming. The MIT Press, Cambridge, Massachusetts, 1994. ISBN 0-262-19288-8.
 

Programovacie paradigmy