Programátor

Ada Lovelace je považována za vůbec první programátorku.[1]

Programátor je ten, kdo postupem zvaným programování implementuje výsledky návrhu projektu.

Za prvního programátora je považována Ada Lovelace,[1] která ve svých Poznámkách k Analytickému stroji vyjádřila první algoritmus určený k provedení na počítačiAnalytickém stroji Charlese Babbageho.

Programátorská práce

Betty Jennings a Fran Bilas pracující s ENIACem

Práce na novém programu začíná obvykle na stole programátora-analytika, který určí návrh budoucího programu, který předá řadovým programátorům. Ti ho převedou do sekvence příkazů, kterým rozumí počítač. Kratší programy může psát jen jeden člověk, i tak by ale měl použít návrh. Programování bez návrhu vede nejčastěji ke špatnému programu, který je nakonec nutné přepsat, tentokrát s návrhem.

Programovací jazyky

Související informace naleznete také v článku Programovací jazyk.

Procesor uznává pokyny ve strojovém kódu. Ten je však pro běžné programování naprosto nevhodný pro svou nízkoúrovňovost, navíc je specifický pro různé typy procesorů.

Programátoři si proto postupem času vymysleli nesmírné množství vyšších programovacích jazyků. Jsou to také sekvence příkazů, ale poskytují větší úroveň abstrakce (do funkcí, objektů atp.). Cenou za toto oproštění se od složitého programování ve strojovém kódu je nutnost překladu zdrojových kódů do jazyka procesoru před spuštěním a pomalejší vykonávání vzniklého kódu.

Téměř všechny jazyky mají stejné vyjadřovací schopnosti (jsou turingovsky úplné), ale různé jazyky se svou syntaxí, schopnostmi základních knihoven a podporou hodí pro různé typy projektů. Například pro programování malých webových projektů se obvykle užívá PHP, pro technické výpočty Fortran atd.

Dobrý programátor umí více programovacích jazyků a nedělá mu problém osvojit si kvůli novému projektu další. Je to umožněno značnou podobností užívaných jazyků – sdružují se do skupin užívajících podobná paradigmata (objektově orientované programování, funkcionální programování) nebo podobnou syntax (nejběžnější jsou variace na téma jazyka C).

Testování a ladění

Související informace naleznete také v článku Programátorská chyba.

Značnou část svého času programátor tráví testování svého programu na různých vstupních datech a uživatelských akcích. Když zjistí chybu (anglicky bug, dalo by se přeložit jako moucha), provádí ladění (anglicky debugging).

Aplikační a systémové programování

Programátoři se často dělí na aplikační a systémové.

Aplikační programátor vytváří programy plnící konkrétní práci – počítá derivaci nebo tiskne upomínky v knihovně.

Systémový programátor se oproti tomu stará o vyvíjení systémových programů, jako třeba operačních nebo databázových systémů, aby se například programátor upomínky tiskoucího systému nemusel starat o konkrétnosti komunikace s tiskárnou.

Dnes už je možná takové dělení poněkud historické, hlavně protože s expanzí počítačů je systémových programátorů relativně mnohem méně.

Typy programů

Související informace naleznete také v článku Software.

Programátoři dnes spolupracují s celým spektrem dalších specialistů (například grafiků) při výrobě různých typů programů, mezi něž patří kancelářský software stejně jako hry a webové aplikace.

Programátorská kultura

Programátoři mají svou vlastní kulturu, která se vyznačuje odmítáním uniformity a autorit. Hezký prototyp programátora byl předveden mainstreamové kultuře v podobě Nea ve filmu Matrix – pro poznání pravdy se vzdá místa v programátorské firmě a spojí se Morfeem, který je symboly autority (uniformními Agenty) označován za teroristu.

Humor

Každý program obsahuje chybu. Každý program lze zároveň zkrátit o jeden řádek, aniž by byla jakkoliv dotčena funkčnost programu.
Z toho plyne, že každý program lze zkrátit na jediný chybný řádek kódu.
Programátorský folklór (podle knihy Programátorské poklesky (Ivan Kopeček, Ján Kučera))

Příklad programátorského humoru může být výtah z Programátorského slovníku:

rekurze – viz heslo „rekurze“

nebo

nekonečný cyklus – viz heslo „cyklus nekonečný“
cyklus nekonečný – viz heslo „nekonečný cyklus“

Příkladem rozšíření tohoto humoru je rekurzivní zkratka.

Vtipné programovací jazyky

Související informace naleznete také v článku Ezoterický programovací jazyk.

Oblíbený programovací jazyk je pro programátora vážná věc a dokáže se o něj s kolegy do krve hádat. Pro odlehčení si proto vymýšlejí humorné programovací jazyky, mezi které patří:

  • Whitespace – jeho zápis se skládá z mezer, tabulátorů a odřádkování (všechny tisknutelné znaky se ignorují)
  • Brainfuck je naprosto nepoužitelný pro svůj extrémní minimalismus. Zároveň však velmi zábavný.
  • LOLCODE – Jazyk vytvořený jako parodie k internetovému fenoménu „Lolcatz“. Vzdáleně připomíná jazyk C, ale jeho příkazy a klíčová slova jsou často zkomolená.

Geek, hacker a cracker

Výraz geek pronikl do češtiny jako synonym pro „zažraného programátora“, v angličtině znamená obecně člověka s velkými znalostmi plně pohlceného svou profesí.

Hacker je programátor, který své umění dává na obdiv různými žertíky, ať už zákonnými či nelegálními. Nelegální hacking může být nabourání funkčnosti informačních systémů, zneužití bezpečnostních děr a podobně. Lidem, kteří se nezabývají ničím jiným než nabouráváním, se pro odlišení od „správňáků“ říká cracker.

Odkazy

Související články

Reference

  1. a b Ada Lovelace – British mathematican [online]. Encyclopædia Britannica, 2019-12-06 [cit. 2020-01-10]. Dostupné online. (anglicky) 

Externí odkazy

Média použitá na této stránce

Ada Lovelace portrait.jpg
Watercolor portrait of Ada King, Countess of Lovelace (Ada Lovelace)
Two women operating ENIAC (full resolution).jpg
Two of the ENIAC programmers, are preparing the computer for Demonstration Day in February 1946. "U.S. Army Photo" from the archives of the ARL Technical Library. Left: Betty Jennings (Mrs. Bartik), right: Frances Bilas (Mrs. Spence).