2GL (Second-Generation Language) označuje jazyky symbolických instrukcí, známé především pod souhrnným názvem Asembler (Assembly Language). Tato generace představuje první krok od čistě binárního kódu k textovému zápisu, který je srozumitelný pro člověka.
Stále se jedná o nízkoúrovňový jazyk (low-level language), což znamená, že je úzce spjat s architekturou konkrétního procesoru.
Na rozdíl od první generace (1GL), kde se používaly nuly a jedničky, zavádí 2GL tzv. mnemotechnické pomůcky (zkratky).
Typický program v asembleru vypadá jako posloupnost instrukcí pro manipulaci s registry procesoru:
MOV AL, 61h ; Načti hexadecimální hodnotu 61 do registru AL ADD AL, 1 ; Přičti 1 k hodnotě v registru AL RET ; Návrat z funkce
| Výhody | Nevýhody |
|---|---|
| Vysoký výkon: Kód je téměř stejně rychlý jako strojový kód. | Nízká čitelnost: I jednoduché operace vyžadují mnoho řádků kódu. |
| Přímý přístup k HW: Ideální pro ovladače a nízkoúrovňové systémy. | Žádná přenositelnost: Program je vázán na konkrétní hardware. |
| Malá velikost: Výsledný program zabírá minimum paměti. | Složitý vývoj: Programátor musí detailně znát architekturu CPU. |
I když byla 2GL nahrazena vyššími jazyky (3GL), dodnes se používá v těchto oblastech:
Související články:
Tagy: historie programming_languages 2GL assembly low-level