Programovací jazyky

Generace jazyků

První generace – strojový kód

Strojový kód obsahuje pouze (obvykle) hexadecimální zápis operačních instrukcí, se kterými pracuje přímo procesor. Kód výsledného programu není pro člověka čitelný.

Druhá generace – Assembler

Strojový kód, který však je částečně čitelný. Dochází zde k nahrazení číselných kódů slovním zadáním instrukcí (např. ADD).

Třetí generace – zdrojový kód

Kód nejlépe čitelný pro člověka. Při zápisu pracuje s proměnnými a matematickými operacemi. Zdrojový kód se vytváří pomocí programovacích jazyků, které je nutné kompilací převést do zdrojového kódu, kterému rozumí samotný procesor.

Vztahy mezi generacemi Zdroj

Paradigmata

Programovacími paradigmaty se chápou různé styly programovacích jazyků:

Imperativní – popisují přesný a postupný postup řešení (algoritmus) programu; čistě imperativní jazyky (BASIC) pro tento popis nevyužívají žádné ucelené struktury, nýbrž pouze proměnné a příkazy – skoky v kódu pak lze řešit pomocí příkazu GOTO (což se ovšem bere jako špatný princip)

Strukturovaný (C, Pascal) – využívají řídící struktury, ve kterých se vykonávají příkazy stále primárně postupně, můžeme ale posloupnost upravit selekcí (výběrovým větvením – podmínkami) anebo iterací (opakováním příkazů – cykly)

Objektově orientovaný (Java, C++, Python) – navíc zavádí přiřazování výkonného kódu datům (objektům) a celý program vidí jako soubor několika objektů

Deklarativní – nepopisují algoritmus, nýbrž deklarují, co má program udělat

Funkcionální (Haskell) – vytváří výpočet vyhodnocováním matematických funkcí

Logické (Planner) – pro výpočet využívá operací matematické logiky