Programovací jazyky
Z MiS
(Rozdíly mezi verzemi)
(Historie do samostatné kapitolky) |
(→Vyšší a nižší programovací jazyky: Přidáno vysvětlení) |
||
| Řádka 5: | Řádka 5: | ||
== Vyšší a nižší programovací jazyky == | == Vyšší a nižší programovací jazyky == | ||
| + | |||
| + | === Strojový kód === | ||
| + | <div class="Poznamka">Charakteristika: | ||
| + | * Není třeba překlad, kód lze přímo umístit do paměti. | ||
| + | * Procesor čte kód a provádí ho přímo. | ||
| + | </div> | ||
| + | *Procesor: | ||
| + | ** čte z paměti posloupnosti byte (čísla) | ||
| + | ** a podle čísla rozhoduje, co má dělat. | ||
| + | číslo → instrukce | ||
| + | *K zápisu instrukcí je třeba vymyslet pořadí bitů a znát jejich význam. | ||
| + | *Někdy řazen mezi nižší programovací jazyky, ale není třeba překládat ani kompilovat. | ||
| + | *Zápis programu ve strojovém kódu uvidíme, když si otevřeme spustitelný soubor v hexadecimálním editoru. | ||
| + | <div class="Priklad">Příklad: | ||
| + | * <code>8B 07</code> ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX | ||
| + | </div> | ||
| + | |||
| + | === Nižší programovací jazyky === | ||
| + | <div class="Poznamka">Charakteristika: | ||
| + | * Výsledný zdrojový kód je vždy závislý na konkrétním typu procesoru. | ||
| + | * Jiný typ procesoru má jiné instrukce. | ||
| + | </div> | ||
| + | *Jeden příkaz se přepíše přesně na jednu instrukci procesoru. | ||
| + | několikapísmenný název → instrukce | ||
| + | *Označení „assembler“. | ||
| + | *Oproti strojovému kódu nabízí: | ||
| + | **Instrukcím jsou přiřazeny názvy. | ||
| + | **Pojmenování míst v paměti (proměnné). | ||
| + | ***Nemusíme psát přímo adresy v paměti. | ||
| + | ***Můžeme adresy na začátku pojmenovat a pak používat jména. | ||
| + | <div class="Priklad">Příklad: | ||
| + | * <code>MOV AX, [BX]</code> ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX | ||
| + | </div> | ||
| + | |||
| + | === Vyšší programovací jazyky === | ||
| + | <div class="Poznamka">Charakteristika: | ||
| + | * Zdrojový kód není závisly na typu procesoru. | ||
| + | * Stejný kód lze po změně překladače přeložit pro jiný typ procesoru. | ||
| + | </div> | ||
| + | * Příkazy jsou slovní, jsou blíže přirozenému jazyku. | ||
| + | * Jeden příkaz se přeloží na posloupnost instrukcí. | ||
| + | příkaz → posloupnost více instrukcí. | ||
| + | *První FORTRAN (1956) | ||
| + | *Velká skupina, i mezi nimi jsou rozdíly: | ||
| + | **mají blíže k přirozenému jazyku, jsou vzdálené principu práce počítače (Java, Pascal, PHP, SQL,...) | ||
| + | **mají blíže instrukcím procesoru (C,...) | ||
| + | <div class="Priklad">Příklad: | ||
| + | * <code>if (a > 4) b--; </code> ... překladač přepíše na delší posloupnost instrukcí procesoru: | ||
| + | **Přesun obsahu proměnné A do registru. | ||
| + | **Odečtení hodnoty 4 od obsahu registru. | ||
| + | **Porovnání hodnoty registru proti 0. | ||
| + | **Vyhodnocení výsledku. | ||
| + | **Skok na správné místo v paměti, kde je další kód. | ||
| + | **Provedení dalšího kódu | ||
| + | ***Buď odečtení jedničky od hodnoty proměnné B (opět několika instrukcemi). | ||
| + | ***Nebo pokračování v kódu programu bez modifikace proměnné B. | ||
| + | </div> | ||
== Související stránky == | == Související stránky == | ||
* [[Historie programovacích jazyků]] | * [[Historie programovacích jazyků]] | ||
Verze z 5. 9. 2014, 11:57
Obsah |
Interpretované a kompilované programovací jazyky
Vyšší a nižší programovací jazyky
Strojový kód
Charakteristika:
- Není třeba překlad, kód lze přímo umístit do paměti.
- Procesor čte kód a provádí ho přímo.
- Procesor:
- čte z paměti posloupnosti byte (čísla)
- a podle čísla rozhoduje, co má dělat.
číslo → instrukce
- K zápisu instrukcí je třeba vymyslet pořadí bitů a znát jejich význam.
- Někdy řazen mezi nižší programovací jazyky, ale není třeba překládat ani kompilovat.
- Zápis programu ve strojovém kódu uvidíme, když si otevřeme spustitelný soubor v hexadecimálním editoru.
Příklad:
-
8B 07... přesune číslo v registru AX do paměti na adresu uloženou v registru BX
Nižší programovací jazyky
Charakteristika:
- Výsledný zdrojový kód je vždy závislý na konkrétním typu procesoru.
- Jiný typ procesoru má jiné instrukce.
- Jeden příkaz se přepíše přesně na jednu instrukci procesoru.
několikapísmenný název → instrukce
- Označení „assembler“.
- Oproti strojovému kódu nabízí:
- Instrukcím jsou přiřazeny názvy.
- Pojmenování míst v paměti (proměnné).
- Nemusíme psát přímo adresy v paměti.
- Můžeme adresy na začátku pojmenovat a pak používat jména.
Příklad:
-
MOV AX, [BX]... přesune číslo v registru AX do paměti na adresu uloženou v registru BX
Vyšší programovací jazyky
Charakteristika:
- Zdrojový kód není závisly na typu procesoru.
- Stejný kód lze po změně překladače přeložit pro jiný typ procesoru.
- Příkazy jsou slovní, jsou blíže přirozenému jazyku.
- Jeden příkaz se přeloží na posloupnost instrukcí.
příkaz → posloupnost více instrukcí.
- První FORTRAN (1956)
- Velká skupina, i mezi nimi jsou rozdíly:
- mají blíže k přirozenému jazyku, jsou vzdálené principu práce počítače (Java, Pascal, PHP, SQL,...)
- mají blíže instrukcím procesoru (C,...)
Příklad:
-
if (a > 4) b--;... překladač přepíše na delší posloupnost instrukcí procesoru:- Přesun obsahu proměnné A do registru.
- Odečtení hodnoty 4 od obsahu registru.
- Porovnání hodnoty registru proti 0.
- Vyhodnocení výsledku.
- Skok na správné místo v paměti, kde je další kód.
- Provedení dalšího kódu
- Buď odečtení jedničky od hodnoty proměnné B (opět několika instrukcemi).
- Nebo pokračování v kódu programu bez modifikace proměnné B.
