Programovací jazyky

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Související stránky: Přidán odkaz na CPU.)
m (Nižší programovací jazyky: Doplněn odkaz na CPU.)
 
Řádka 68: Řádka 68:
 
*Označení „assembler“.
 
*Označení „assembler“.
 
*Oproti strojovému kódu nabízí:
 
*Oproti strojovému kódu nabízí:
**Instrukcím jsou přiřazeny názvy.
+
**Instrukcím jsou přiřazeny názvy — není tedy třeba pamatovat si binární kódy instrukcí.
**Pojmenování míst v paměti (proměnné).
+
**Pojmenování míst v paměti (proměnné) — nemusíme tedy psát přímo adresy v paměti, můžeme adresy na začátku pojmenovat a pak používat jména.
***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:
 
<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
 
* <code>MOV AX, [BX]</code> ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX
 
</div>
 
</div>
 +
 +
Podrobnější příklad viz [[CPU#Procesor_z_pohledu_SW | CPU &rarr; Procesor z pohledu SW]].
  
 
=== Vyšší programovací jazyky ===
 
=== Vyšší programovací jazyky ===

Aktuální verze z 17. 11. 2016, 22:17


Obsah

Interpretované a kompilované programovací jazyky

Zdrojový kód → instrukce procesoru
Interpretované jazyky
Kompilované jazyky
Jak je to s Javou?

Zdrojový kód se překládá (kompiluje) na byte-code, který se odesílá uživateli a ten si jej spouští prostřednictvím virtuálního stroje Javy (JVM).

Java tedy není dobrý příklad ani na jednu skupinu jazyků, přebírá část výhod a část nevýhod z obou skupin.

Výhody interpretovaných
Výhody kompilovaných

Souhrn:

  • Interpretované jazyky jsou obvykle vhodné pro menší projekty nebo tam, kde potřebujeme rychle nějaký program zapsat, často si program děláme pro sebe nebo svoji firmu. Nezastupitelné jsou i pro svoji přenositelnost.
  • Kompilované jazyky jsou obvykle vhodné pro větší projekty (rychlejší běh) a kde program napíši jednou a pak už není třeba provádět změny.

InterpretXkomp.png

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.
číslo → instrukce
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.
několikapísmenný název → instrukce
Příklad:
  • MOV AX, [BX] ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX

Podrobnější příklad viz CPU → Procesor z pohledu SW.

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říkaz → posloupnost více instrukcí.
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.

Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje