Nahoru
 

Co je vlastně to programování?

Jak je možné, že počítače umí to, co umí? Když se zamyslíte nad tím, jak vlastně váš každodenní nástroj funguje, tak brzy zjistíte, že vlastně nemáte nejmenší tušení a pokud nějaké máte, tak jenom malé. Pokud tedy nejste přímo v oboru. V tomto článku se vám pokusím vysvětlit, v čem spočívá samotné programování, tedy vytváření softwaru.

Když se vás někdo zeptá, jak vlastně pracuje počítač, co řeknete jako první? A co by se vlastně mělo říct hned ze začátku? Já za to považuji ten fakt, že uvnitř umí počítač pracovat pouze s jedničkami a nulami, což je sám o sobě dost abstraktní pojem, ale lze se od toho dost dobře odpíchnout. Stačí si představit, že jakýkoliv problém, který řešíme, ať už se jedná o prohlížení webových stránek nebo o složitý program vypočítávající pravděpodobnost poklesu akcií Applu musí nakonec řešit pouze jedničky a nuly.

Práce programátorů samozřejmě nespočívá v tom, že si sednou ke speciálnímu počítači s dvěma tlačítky, kde na jednom je jednička a na druhém nula a horečně píší posloupnosti těchto čísel, i když jim v tom teoreticky nic nebrání. Existují jakési nástavby, kterým se říká programovací jazyky. Ty jsou pro člověka daleko srozumitelnější a pomocí překladačů (kompilátorů), které máme již naprogramované se počítači tyto programy přeloží do nul a jedniček. Výsledku se pak říká strojový nebo binární kód.

Ukázka kódu
Obrázek 1: Ukázka kódu

Když se tedy rozhodnete být programátorem, budete ve své práci psát kód v nějakém programovacím jazyce. Vámi napsaný kód se následně přeloží do strojového kódu a s tím už umí počítač pracovat. Nyní už jen zbývá otázka, jak vlastně vypadají aplikace, které vytváříme.

Skoro o každé aplikaci by se dalo říci, že na zadaný vstup vám program vrátí nějaký výstup. Když kalkulačce zadáte vstup „5+5“ očekávaným výstupem je „10“. Obdobně pokud si pustíte film, tedy zadáte vstup jako soubor, aplikace ho jako výstup přehraje. Vytváření aplikace se tak tedy dá shrnout do série očekávaných výstupů na zadané vstupy. Vaším úkolem je nyní vytvořit takový program, napsat takový kód, který bude přesně toto dělat. To už tak jednoduché není a abyste skutečně ovládli tuto dovednost, musíte programování věnovat spoustu času (samozřejmě v závislosti na obtížnosti vámi řešeného problému).

„Dobrý software je jako víno, potřebuje čas“

Joel Spolsky

Odměnou za vaši píli se stane jistá „superschopnost“ vytvářet věci, kterým nikdo kolem vás nebude rozumět a vy si začnete připadat jako čaroděj. Další skvělou výhodou vývoje softwaru je to, že se jedná o kreativní činnost. Něco vytváříte. Když se například navrhne webová stránka, máme pouze obrázek. To až programátoři webu vdechnou život. Nejedná se o žádný stereotyp.


Celkově vzato můžeme říci, že aplikace jsou psány v programovacím jazyce, který se následně přeloží do jedniček a nul. Tyto jedničky a nuly umí počítač zpracovat a poskytnout nám očekávaný výsledek k naší programátorské činnosti. Abyste byli schopní naprogramovat nějaký software je k tomu potřeba jisté úsilí, které ale za výsledek určitě stojí.