Programovací jazyk
Obsah
· 1 Typy programovacích jazyků
o 1.1 Vysoká úroveň vs. nízká úroveň
o 1.2 Deklarativní vs. imperativní programování
o 1.3 Funkční vs. procedurální
o 1.4 Na základě zásobníku
o 1.5 Objektově orientované
o 1.6 Orientace na průtok
· 2 Pravidla
· 3 Objektově orientované programování
· 4 Příklady
o 4.1 Příklad jazyka Visual Basic
o 4.2 Příklad jazyka Python
o 4.3 Příklad jazyka C#
o 4.4 Příklad jazyka Haskell
· 5 Související stránky
Programovací jazyk je typ psaného jazyka, který říká počítačům, co mají dělat, aby fungovaly. Programovací jazyky se používají k vytváření všech počítačových programů a počítačového softwaru. Programovací jazyk je jako soubor instrukcí, podle kterých se počítač řídí, aby něco udělal.
Programátor píše text zdrojového kódu v programovacím jazyce a vytváří programy. Programovací jazyk obvykle používá pro některé příkazy skutečná slova, aby byl jazyk pro člověka snáze čitelný. Mnoho programovacích jazyků používá interpunkci stejně jako normální jazyk. Mnoho programů je dnes "zkompilováno". To znamená, že počítač přeloží zdrojový kód do jiného jazyka (např. assembleru nebo strojového jazyka), který je pro počítač mnohem rychlejší a snáze čitelný, ale pro člověka mnohem hůře čitelný.
Počítačové programy je třeba psát velmi pečlivě. Pokud programátor udělá chybu nebo se program pokusí udělat něco, co programátor nenavrhl, může se stát, že program "spadne" nebo přestane fungovat. Pokud má program problém kvůli tomu, jak byl kód napsán, nazývá se to "chyba". Velmi malá chyba může způsobit velmi velký problém.
Typy programovacích jazyků
Existuje mnoho typů programovacích jazyků. Většina programovacích jazyků se neřídí pouze jedním typem, takže je obtížné přiřadit typ pro každý jazyk. Příklady jednotlivých typů jsou uvedeny v každé části níže, protože se jedná o nejznámější příklady daného typu.
Vysoká úroveň vs. nízká úroveň
| Tento oddíl potřebuje více informací. (srpen 2018) |
Vysokoúrovňové programovací jazyky vyžadují méně znalostí o hardwaru než nízkoúrovňové programovací jazyky. Vysokoúrovňové programovací jazyky vyžadují interpret, který převádí zdrojový kód do nízkoúrovňových programovacích jazyků.
Deklarativní vs. imperativní programování
Deklarativní programovací jazyky popisují "problém", ale obvykle neříkají, jak by měl být problém řešen. Popis problému používá logiku a "řešení" problému často vypadá jako automatické dokazování systému logických axiomů. Příklady takových programovacích jazyků jsou Prolog, XSLT, LISP a SQL.
Imperativní programovací jazyky popisují systém změn stavu. Na začátku je program v určitém stavu a počítači jsou zadány kroky, které má provést, aby provedl nějakou akci. Provedení kroků způsobí, že program "změní stav".
Deklarativní programovací jazyky jsou obecně bezpečnější a kratší. Imperativní programovací jazyky jsou rozšířenější, protože se snadněji používají.
Funkční vs. procedurální
Funkcionální programování nahlíží na programování jako na funkci v matematice. Program přijímá vstupní informace spolu s nějakými informacemi a používá je k vytvoření výstupu. Nebude mít žádný mezistav a nebude také měnit věci, které nesouvisejí s výpočtem.
Procedurální programy specifikují nebo popisují sady kroků nebo změn stavu.
Na základě zásobníku
Jazyky založené na zásobníku se dívají na část paměti programu jako na zásobník karet. Se zásobníkem lze dělat jen velmi málo věcí. Datovou položku lze umístit na vrchol zásobníku. Tato operace se obecně nazývá "push". Datovou položku lze z vrcholu zásobníku odebrat. Tato operace se nazývá "pop". Na položku na vrcholu zásobníku se můžete podívat, aniž byste ji odstranili. Tato operace se nazývá "peek".
Pokud je program napsán jako "push 5; push 3; add; pop;", umístí 5 na začátek zásobníku, na 5 umístí 3, sečte dvě horní hodnoty (3 + 5 = 8), nahradí 3 a 5 hodnotou 8 a vypíše vrchol (8). Příkladem programovacích jazyků založených na zásobníku jsou jazyky Postscript a Forth.
Objektově orientované
Objektově orientované programovací jazyky umísťují data a funkce, které data mění, do jednoho celku. Tato jednotka se nazývá "objekt". Objekty mohou vzájemně interagovat a měnit data jiného objektu. Tomu se obvykle říká zapouzdření nebo skrytí informací. Většina moderních programovacích jazyků je objektově orientovaná nebo alespoň tento styl programování umožňuje. Příkladem jsou jazyky Java, Python, Ruby, C++, C# a další.
Průtokově orientované
Programování orientované na tok vnímá programování jako propojování různých komponent. Tyto komponenty si posílají zprávy tam a zpět. Jedna komponenta může být součástí různých "programů", aniž by se musela interně měnit.
Pravidla
Každý programovací jazyk má pravidla, co může a co nemůže dělat. Patří mezi ně:
- Správná čísla (typy čísel a to, jak velká nebo malá čísla mohou být).
- Slova (vyhrazená slova, rozlišování velkých a malých písmen)
- Omezení možností programovacího jazyka
Většina jazyků má oficiální standardy, které definují pravidla pro zápis zdrojového kódu. Některé programovací jazyky mají dva nebo více standardů. To se může stát, když nový standard nahradí starý. Například standard Perlu 5 nahradil Perl 4 v roce 1993. Může se to stát, protože dva lidé vytvořili dva standardy ve stejnou dobu. Například pro jazyk APL existuje několik standardů.
Objektově orientované programování
Objektově orientované programování (někdy zkráceně OOP) je forma programování, kde všechny části programu jsou objekty. Objekty jsou části paměti se stejnou strukturou, které lze používat opakovaně. Bankovní účet, bitová mapa nebo hrdina z videohry mohou být objekty v rámci programu. Objekty se skládají z vlastností (částí informací, které objekt uchovává) a metod, což jsou věci, které objekt může dělat. Objekt Pes může mít vlastnosti jako výška a barva vlasů. Mezi jeho metody mohou patřit například bark() a wagTail().
Všechny objekty se vytvářejí ze šablon zvaných třídy. Třídu si můžete představit jako formu, ze které se vytvářejí objekty. Třída definuje všechny vlastnosti a metody, které budou mít její objekty. Objekty vytvořené z třídy se nazývají instance třídy. Třída může rozšiřovat jinou třídu, což znamená, že přebírá všechny vlastnosti a metody třídy, ale může přidávat své vlastní.
Zde je příklad, jak může vypadat třída v programovacím jazyce:
class Dog extends Mammal{ //Tyto jsou vlastnosti: String breed = "Collie" String type = "Herding Dog" //Tyto jsou metody void wagTail(){ //Do some wagging } void bark(){ //Do the barking here } }Všimněte si, že třída Pes rozšiřuje třídu Savec, takže všichni psi budou mít vlastnosti savce, jako je délka srsti, a metody, jako je jíst() nebo spát().
Objektově orientované programování se používá v mnoha dnes nejoblíbenějších programovacích jazycích, jako jsou Java, C#, Objective-C, C++, Python, Ruby, Javascript a ActionScript.
Příklady
Příklad jazyka Visual Basic
Zde je jednoduchý program napsaný v jazyce Visual Basic:
Tento program se zeptá uživatele na jeho věk a odpoví na základě toho, co uživatel zadal. Pokud uživatel zadal něco, co není číslo, program to uvede. Pokud uživatel zadal číslo menší než nula, program to řekne. Pokud uživatel uvede, že je starší než 100 let, program řekne "To je starý!". Pokud uživatel zadal správný věk, program uživateli zpětně řekne, kolik je mu let.
Příklad jazyka Python
Zde je program, který dělá stejnou věc jako výše uvedený program, ale v jazyce Python:
Příklad jazyka C#
Totéž jako výše uvedený program, ale v jazyce C#:
Příklad jazyka Haskell
Opět to samé, ale v jazyce Haskell:
Související stránky
- Seznam programovacích jazyků
- Programátor
- Kompilátor
- Počítačové programování
Otázky a odpovědi
Otázka: Co je to programovací jazyk?
Odpověď: Programovací jazyk je typ psaného jazyka, který říká počítačům, co mají dělat. Je to něco jako soubor instrukcí, podle kterých počítač něco dělá, a pro některé příkazy obvykle používá skutečná slova, aby byl pro člověka srozumitelnější.
Otázka: Jaké jsou příklady programovacích jazyků?
Odpověď: Mezi příklady programovacích jazyků patří Python, Ruby, Java, JavaScript, C, C++ a C#.
Otázka: Jak se programy v programovacích jazycích píší?
Odpověď: Programy se píší zápisem textu do zdrojového kódu programovacího jazyka. Obvykle se používá také interpunkce.
Otázka: Co se stane po napsání programů v programovacím jazyce?
Odpověď: Poté, co jsou programy napsány v programovacím jazyce, musí být zkompilovány, což znamená, že počítač změní nebo přeloží zdrojový kód do jiného jazyka (např. assembleru nebo strojového jazyka), který mohou počítače číst, ale který je pro lidi mnohem obtížněji čitelný.
Otázka: Co se může stát, když při psaní programů dojde k chybám?
Odpověď: Pokud při psaní programů dojde k chybám nebo pokud se program pokusí udělat něco, k čemu nebyl navržen, může přestat fungovat, což se nazývá "pád". Když se to stane kvůli tomu, jak byl kód napsán, říká se tomu "chyba". I malé chyby mohou způsobit velké problémy.
Otázka: Proč musí být počítačové programy pečlivě napsány?
Odpověď: Počítačové programy musí být pečlivě napsány, protože i malé chyby mohou způsobit velké problémy a vést k pádu nebo chybám.