Programování

Z WikiKnihovna
Přejít na: navigace, hledání

Autor: Vítězslav Rathouz

Klíčová slova: programování, programovací jazyky, programovací paradigmata, počítačové programy

Synonyma: kódování, psaní počítačových programů

Související pojmy

nadřazené: informační technologie, práce s počítači

podřazené: programovací jazyky, programovací paradigmata, programátorské editory, kompilátory, překladače

Charakteristika

Programování, neboli psaní počítačových programů, znamená tvoření instrukcí, které počítač bude následovat a na jejich základě spustí program. Základní instrukce jsou tvořeny ze sekvencí „zapnuto“ a „vypnuto“, které počítač zpracuje pomocí procesoru. Instrukce „zapnuto“ je kódována jako jednička a „vypnuto“ jako nula. Čísla a písmena jsou reprezentovány v počítači také jako jedničky a nuly, např. nula = „0000“, jednička = „0001“, dvojka = „0010”.[1]

Jak se programuje?

Jedničky a nuly jsou jediným jazykem, jemuž počítač rozumí. Takzvaný binární kód - obrovské množství jedniček a nul, dokáže počítač zpracovávat velmi rychle, ale pro člověka je to však velmi zdlouhavé a zadávání instrukcí touto formou není efektivní. Proto člověk vytvořil speciální programy, aby si programování ulehčil. V těchto programech se počítači zadávají instrukce v určité formě – takzvaným programovacím jazykem, který je pro člověka lépe srozumitelný a naučitelný. Instrukce v programovacím jazyku pak tento program převede do binárního kódu, aby ho počítač mohl zpracovat. Například jednoduchá matematická operace by musela v binárním, neboli také strojovém kódu, být zaznamenána pomocí stovek znaků. Pomocí programovacího jazyka ji však lze vyjádřit několika slovy. Programovací jazyky můžeme jmenovat např. C, Java, Haskell, Delphi atd.

Programovací paradigmata

Programovací paradigmata, neboli programovací styly, jsou založeny na specifických vlastnostech - algoritmické abstrakci dat, operátorech, ovládání a reprezentují určitý způsob myšlení o programu a jeho vytvoření.[2]

Přehled základních programovacích paradigmat[3]

Naivní paradigma

Toto paradigma je určeno pro počítačové laiky a začátečníky. Vyznačuje se chaotičností a nekoncepčností. Programovací jazyky, které podporují toto paradigma, jsou minimálně strukturované a poskytují minimální prostředky pro abstrakci dat.

Procedurální paradigma

Jedná se o jedno z nejstarších paradigmat, proto je nazýváno klasickým. Pro tento druh paradigmatu je typické, že průběh výpočtu je dán sekvencí po sobě jdoucích příkazů. V značné míře se zde využívají i cykly.

Objektově orientované paradigma

V objektově orientovaném programování jsou základními prvky tzv. objekty. Tyto útvary v podstatě modelují objekty reálného světa: osoby, předměty, události, dokumenty. Každý objekt je nositelem určitých informaci o sobě samém (tzv. stav) a na požádání mohou tento stav změnit. Program je pak strukturován nikoli podle procedur, ale podle těchto objektů.

Funkcionální paradigma

V případě funkcionálního paradigmatu je průběh nějakého výpočtu založen na postupném aplikování funkcí. Funkce bývají aplikovány na výsledky jiných funkcí. Rozsáhlejší programy mohou působit nepřehledně. Po procedurálním paradigmatu se jedná o druhé nejstarší.

Logické paradigma

V logickém paradigmatu je program počítači předložen ve formě množiny faktů a pravidel, tzv. klauzulí. Programátor předloží počítači nějaké tvrzení a on se na základě faktů a klauzulí programu snaží dané tvrzení dokázat.

Speciální paradigmata

Často se setkáváme s jazyky, které vycházejí z některého paradigmatu a přidávají k němu podporu pro další potřebné činnosti. Vznikne-li celá skupina takových jazyků a vytvoří se programovací styl, můžeme to nazvat vznikem nového paradigmatu. Jsou jimi například: webové programování, paralelní a distribuované programování, datové programování atd.

Použité zdroje

  1. What is computer programming?. Kossiakoff Computer Center Facility [online]. [cit. 2012-10-20]. Dostupné z: http://www.apl.jhu.edu/~hall/java/beginner/programming.html
  2. BOLSHAKOVA, Elena. Programming paradigms in computer science educaion. International journal information theories [online]. 2005, roč. 12, č. 3, s. 285-290 [cit. 2012-10-21]. ISSN 1310-0513. Dostupné z: http://www.foibg.com/ijita/vol12/ijita12-3-p13.pdf
  3. SKOUPIL, David. UNIVERZITA PALACKÉHO. Úvod do paradigmat programování [online]. Olomouc, 2007 [cit. 2012-10-20]. Dostupné z: http://phoenix.inf.upol.cz/esf/ucebni/uvod_para.pdf