Programátor

Z WikiKnihovna

Autor: Dana Tomančáková

Klíčová slova: programátor, programování, programovací jazyk, algoritmus

Synonyma: vývojář, systémový inženýr

Související pojmy:

nadřazené – počítač, informatika, elektrotechnika
podřazenéprogramovací jazyk, aplikace, program

Charakteristika

Programátor neboli vývojář je ten, kdo navrhuje, píše a testuje počítačové systémy, programy nebo aplikace. S prací programátora se můžeme setkat ve všech elektrotechnických zařízeních (od her v mobilních zařízeních po hardware v osobním počítači). Tyto programy se píší v programovacích jazycích v editorech určených přímo k práci s kódem. Programátory můžeme rozdělit na dvě hlavní skupiny, a to podle jejich zaměření:

  • Programátoři aplikací (software)
  • Programátoři systémů (hardware)[1]

Vývoj programu není práce jen pro programátora, např. u psaní kódu webových stránek se odvíjí a závisí od návrhu designéra a jeho HTML kódu, který programátor uvádí do chodu. Důležitou složkou programátorovi práce je také testování zdrojového kódu. Jde jak o chod programu, tak i o přistupování k síti, používání databází, funkčnost ve všech prohlížečích nebo chování celé aplikace na simulované podněty. Pro simulaci těchto činností se používají falešné objekty, které nevykonávají žádnou skutečnou činnost, pouze splňují nějaké požadované rozhraní.[2]

Historie

Za vůbec první programátorku je považována Ada Augusta Lovelace (dcera Lorda Byrona), která navrhla a vytvořila předchůdce dnešních programovacích jazyků. Popsala práci Babbagova Analytického stroje a také pro něj psala první programy. „Její text o stroji se stal prvním, který popisoval proces dnes známý jako počítačové programování.“ [3]

Pracovním nástrojem programátorů na prvních programovatelných počítacích strojích z 30. let 20. století byly děrné štítky, ty představovaly 1 a 0 binární soustavy a řídili počítače. Ve 40. letech sestrojil Conrad Zuse elektrický počítač Z1 a později také první programovací jazyk Plankalkul pro počítač Z3, který byl ovlivněn Turingovým strojem a Lambda kalkul Alonza Churche.[4]

V 50. až 60. letech 20. století vznikaly první operační systémy a s nimi první vyšší programovací jazyky (Cobol, Fortran, Algol)[5]„místo řad 1 a 0 dvojkové soustavy se zadávaly příkazy v podobě čísel osmičkové nebo šestnáctkové soustavy, později i skutečná slova z písmen“.[6] Z prvních programovacích jazyků se až do dnešní doby vyvinulo a dále vyvíjí velké množství dalších jazyků. Dnes jsou jich známy stovky a většina z nich jen zdaleka připomíná ty počáteční.

Programování

„Navrhování programů je tvůrčí činnost, snaha dospět k výsledku nebo jej jeho nastínění vyžaduje vývoj nebo zapojení nových poznatků.“ [7]

Programování je činnost, která se skládá z několika fází. V první fázi je zapotřebí určit, co je úkol (problém). Následně se problém analyzuje a rozebere do detailů, abychom věděli, co má daný program dělat. Pak přichází na řadu návrh algoritmu, tedy fáze, kde se řeší, jakým způsobem bude program daný problém řešit. Algoritmy a programováním se zabývá algoritmizace.

„Algoritmus musí splňovat několik vlastností. Musí být:

  • konečný (rezultativní). To znamená, že má jistý počet kroků, které vedou k výsledku
  • deterministický, tedy každá část algoritmu musí dávat jasně najevo, co dělá, k čemu je určená
  • efektivní = rychlý
  • obecný, tedy být řešením pro libovolná vstupní data
  • opakovatelný, na základě stejných hodnot poskytnout stejné výsledky
  • srozumitelný, přehledný a modifikovatelný, což zaručuje jeho rozšiřování a vylepšování“[8]

Pokud již byla úloha definována jako algoritmus, zredukuje se na překlad do algoritmického jazyka, který může být přijat počítačem.[7] Pro analýzu a znázorňování algoritmů se používají vývojové diagramy. Výsledkem je „program, který je zápis algoritmu v programovacím jazyku.“[8]

Programy se píší ve speciálních, na to určených editorech nebo vývojových prostředích. Jsou to textové editory obohacené o další vlastnosti, jako například zvýrazňování syntaxe, automatické doplňování kódu, možnost instalace dalších doplňků a podobně. Mezi tyto editory patří například NotePad++ nebo český PSPad.[9]

Programovací jazyky

„Programovací jazyk je umělý a je zpravidla velmi zredukovanou podmnožinou přirozeného anglického jazyka.“[8] Programovací jazyky jsou tedy názvy příkazů a funkcí odvozených z anglického jazyka. Bývají to většinou zkratky slov, například funkce strLen() odvozená od String Length(délka řetězce), nebo iostream = input output stream (vstupně výstupný proud).

Programovací jazyky lze rozdělit do tří skupin. Tu první tvoří programovací jazyky nízké úrovně, jako například Assembler, které se zabývají ovládáním těch nejzákladnějších elementů, např. paměť počítače nebo práce s bity. Od této úrovně se odvíjejí jazyky střední úrovně. Jsou to jazyky C, C++, Pascal, Perl obsahující příkazy, funkce a procedury, které provedou veškeré potřebné úkony nižších úrovní. Příklad: print(), read(). Jazyky C++ a Java patří mezi ty vyšší, protože dokážou pracovat s objekty reálného světa, kterým se pak přiřazují vlastnosti do takzvaných atributů a mají také funkce (metody), které s těmito vlastnosti pracují. Od nich se dále odvíjejí další jazyky a tak vznikají jazyky nejvyšší úrovně, kam patří například Python nebo SQL, kde se místo příkazů a funkcí používají takzvané dotazy (query).[10][11] Například: „Vyber z tabulky xy jméno, kde věk je větší než x“.

Poznámky

  1. Applications Programmer. In: Discover It [online]. c2005, 2008 [cit. 2013-04-07]. Dostupné z: http://www.discoverit.org/applications_programmer.aspx
  2. ZAMRZLA, Josef. Testování a tvorba testovatelného kódu v PHP. In: Zdroják: O tvorbě webových stránek a aplikací [online]. 2012-08-13. 2009, 2013 [cit. 2013-04-07]. Dostupné z: http://www.zdrojak.cz/clanky/testovani-a-tvorba-testovatelneho-kodu-v-php/
  3. WEEDA, Renske. History of Informatics: Ada Lovelace [online]. Radboud University Nijmegen, Faculty of Science, 2004 [cit. 2013-04-07]. Dostupné z: http://www.cs.ru.nl/~hans/Geschiedenis/Papers/Renske.pdf
  4. NYGRÝN, Pavel. Historie počítačů: Od elektronky po internet. In: Živě [online]. 2011-08-15. c1996, 2013 [cit. 2013-04-07]. Dostupné z: http://www.zive.cz/clanky/historie-pocitacu-od-elektronky-po-internet/sc-3-a-147343/default.aspx
  5. HORA, Vladimír a David MAZEL. Ovládání počítače. 1. vyd. Brno: Masarykova univerzita, 2007. Dostupné z: https://is.muni.cz/auth/el/1490/kurzy2007-nekreditove/u3v_pc1/um/U3V_scripta_Z1_WEB.pdf
  6. HALUZA, Pavel. Výpočetní technika I: Organizační informace; Úvod do výpočetní techniky [prezentace v Misrosoft Powerpoint]. Brno, PEF MENDELU, 2011. Str. 51. Dostupné z: https://akela.mendelu.cz/~xhorak10/1.semestr/pc/V%FDpo%E8etn%ED%20technika%201/VT1_prednaska01/vt1-01.pdf
  7. 7,0 7,1 ERSHOV, A. P. Programming. In: Encyclopedia of Mathematics. [online]. 2011-02-07. c2002, 2012 [cit. 2013-04-07]. Dostupné z: http://www.encyclopediaofmath.org/index.php?title=Programming&oldid=12500 Chybná citace: Neplatná značka <ref>; název „ershov“ použit vícekrát s různým obsahem
  8. 8,0 8,1 8,2 MOTYČKA, Arnošt. Algoritmizace. 1. vyd. Brno: Konvoj, 1999, 75 s. Scriptum. ISBN 80-856-1580-0.
  9. GUBE, Jacob. The 15 Most Popular Text Editors for developers. In: Six Revisions: Useful Information for Web Developers & Designers [online]. c2008, 2013 [cit. 2013-05-28]. Dostupné z: http://sixrevisions.com/web-development/the-15-most-popular-text-editors-for-developers/
  10. Low, mid, high level language, what's the difference?. In: Stack Overflow [online]. 2010-08-12. c2008, 2013 [cit. 2013-04-07]. Dostupné z: http://stackoverflow.com/questions/3468068/low-mid-high-level-language-whats-the-difference
  11. HOLLMANN, Viktor. Programovací jazyky: Historie a současnost. In: Computerworld [online]. 1998-05-01. 2013 [cit. 2013-04-07]. Dostupné z: http://computerworld.cz/archiv/programovaci-jazyky-historie-a-soucasnost-9520

Použitá literatura