Programovací jazyk

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

Autor: Marta Pavlovská

Klíčová slova: informatika, programování, program, algoritmus, software

Synonyma: ---

Související pojmy:

nadřazené - ---
podřazené – Vyšší programovací jazyky, Nižší programovací jazyky, Procedurální programovací jazyky, Neprocedurální programovací jazyky


Charakteristika

Existuje několik definic pojmu programovací jazyk. Moderní slovník softwaru definuje programovací jazyk jako „umělý jazyk určený pro zápis počítačového programu. Syntaxe a sémantika jsou přesně definovány[7] . Dále lze říci, že se jedná o „formální systém symbolů užívaný ke komunikaci lidí s počítačem. ... Programovací jazyk je prostředkem k programování, tedy k formulování programů, které mohou být provedeny počítačem.[2]

Každý programovací jazyk má vlastní syntaxi a sémantiku. Syntaxe je „souhrn pravidel udávající přípustné tvary dílčích konstrukcí a celého programu.[3] Sémantika udává význam jednotlivých konstrukcí, přiřazuje význam syntakticky správným konstrukcím.

Dělení programovacích jazyků

Dělení dle míry abstrakce

Strojově orientované jazyky

  • Jsou vázány na konkrétní typy procesorů, liší se tedy pro každý typ počítače.[5] Další velkou nevýhodou je pro člověka nepohodlný číselný zápis instrukcí. Pro zadávaní programových dat do stroje se používaly děrné štítky nebo pásky, které byly zprvu dočasně uloženy na magnetický pásek.[4] V dnešní době je používání strojového jazyka jako nástroje programování zcela ojedinělé.[6] Patří sem jazyk symbolických adres – Assembler a strojový kód.

Vyšší programovací jazyky

  • Uprostřed padesátých let začíná docházet k masovému nasazování počítačů na poli vědecko-technickém a v ekonomice. To vedlo k tomu, že počítače už musí umět programovat i jiní, nejen vlastní tvůrci počítačů. Cílem bylo tedy vytvořit takové jazyky, které by eliminovaly nedostatky jazyků strojově orientovaných (tedy odstranit závislost na strojovém jazyce a „poskytnutí takových prostředků pro popis algoritmů, které odrážejí povahu řešených problémů a nikoliv technickou realizaci výpočetních procesů na počítači[6]). Požadavky na nové jazyky byly zhruba následující: snadná naučitelnost jazyka, používání makra, dobrá komunikace, flexibilita, elegantní ladící prostředky, dobrá dokumentace, jednoduchá údržba programu,optimální systémový přechod při změně na vyšší kategorii zařízení a příznivé finanční náklady.[4] Tyto jazyky jsou také označované jako „problémově orientované“. Člověku jsou snadno srozumitelné, mají logickou strukturu a nejsou závislé na strojových principech počítače. Jedná se například o jazyky Pascal, C, Python, Basic, Fortran...
    • Dále se dělí na:
      • Procedurální
        • Strukturované
        • Objektově orientované
      • Neprocedurální
        • Funkcionální
        • Logické

Dělení podle metody implementace

Aby bylo možné provést program, který byl zapsaný ve vyšším programovacím jazyce, je nutné jazyk pro daný počítač implementovat. K tomu se používají dvě základní metody implementace:

  • Kompilace – před spuštěním jsou programy přeloženy kompilátorem (překladač vyššího jazyka) na sémanticky ekvivalentní programy v jazyce počítače a poté mohou být dané programy počítačem provedeny. Tyto jazyky jsou rychlejší, ale mají vyšší nároky na správnost kódu.
  • Interpretace – jsou překládány až za běhu programu. Jsou přeloženy do vnitřní formy, tedy do jazyka virtuálního počítače. Provedení programu pak zajistí program zvaný interpret. Tato metoda je však náročnější na výpočetní dobu.[3]

Historie

První programovací jazyky se objevují ještě před nástupem moderních počítačů. Již v 19. století existovaly programovací tkalcovské stavy nebo válce pro samohrající piána.[1] Roku 1837 sestrojil Charles Babbage stroj nazvaný Analytical Engine. Ten byl podobný dnešním počítačům, měl oddělená výstupní a programová data. První programátorkou byla Ada King, hraběnka z Lovelace, která pro tento stroj psala první programy.[8] Ve 40. letech 19. století vzniká Turingův stroj, popsaný Alanem Turingem a Lambda kalkul, jehož autorem je Alonzo Church. Turingův stroj poskytl matematické abstrakce pro návrh algoritmů; Lamda kalkul má vliv na design programovacích jazyků. Ve 40. letech vznikaly první počítače poháněné elektrickým proudem. Prvním vyšším programovacím jazykem byl Plankalkül, který stvořil Konrad Zuse pro Z3.[1]


Literatura

  1. AGHAZARYAN, Syuzanna. Bruce E. Shapiro, Ph.D. [online]. 2006 [cit. 2010-11-29]. Programming Languages. Dostupné z WWW: <http://www.bruce-shapiro.net/math382/Projects/content/ProgrammingLanguages.pdf>.
  2. ERSHOV, A. P. SpringerLink : Encyclopaedia of Mathematics [online]. 2001 [cit. 2010-10-25]. Programming language. Dostupné z WWW: <http://eom.springer.de/P/p075100.htm>.
  3. MÜLLER, Karel. Programovací jazyky. První vydání. Praha : ČVUT, 2002. 219 s.
  4. NAUMANN, Friedrich. Dějiny informatiky : Od abaku k internetu. První. Praha : Academia, 2009. 424 s. ISBN 978-80-200-1730-7.
  5. OLEHLA, Miroslav, et al. Programování, programovací jazyky a operační systémy. Liberec : ČVUT, 1980. 189 s.
  6. RÁBOVÁ, Zdena, et al. Počítače a programování. Páté vydání. Brno : Rektorát VUT v Brně, 1988. 286 s.
  7. VITOVSKÝ, Antonín. Moderní slovník softwaru. První vydání. Praha : AV software, 2006. 588 s. ISBN 80-901428-8-5.
  8. WEEDA, Renske. Radboud University Nijmegen [online]. 2004 [cit. 2010-11-29]. History of Informatics: Ada Lovelace. Dostupné z WWW: <http://www.cs.ru.nl/~hans/Geschiedenis/Papers/Renske.pdf>.