1GL (First-Generation Language) označuje strojový kód (machine code). Je to jediný jazyk, kterému procesor (CPU) rozumí přímo a nativně. V této generaci neexistuje žádná abstrakce; programátor komunikuje s hardwarem pomocí binárních dat.
V éře první generace (přibližně 40. léta 20. století) neexistovaly kompilátory ani editory kódu. Programování znamenalo přímý zápis instrukcí pro konkrétní architekturu.
Každá instrukce v 1GL se obvykle skládá ze dvou částí:
1. **Operační kód (Opcode):** Říká procesoru, co má udělat (např. sečíst, přesunout, porovnat). 2. **Operand:** Určuje data nebo adresu v paměti, se kterými se má pracovat.
Příklad (konceptuální): Instrukce pro sečtení dvou čísel může vypadat takto:
10110000 01100001
(Kde první část může znamenat „vlož do registru“ a druhá část je hodnota $97$ v binární soustavě).
| Výhody | Nevýhody |
|---|---|
| Maximální rychlost: Žádný překlad nezpomaluje běh programu. | Extrémní náročnost: Člověk velmi snadno udělá chybu v dlouhém řetězci bitů. |
| Efektivita: Program využívá hardware na 100 % bez jakékoli režie. | Nemožnost ladění: Najít chybu (bug) v tisících nul a jedniček je téměř nadlidský úkol. |
| Žádný překladač: Počítač nepotřebuje žádný další software k pochopení kódu. | Nepřenositelnost: Při změně počítače je nutné celý program napsat znovu. |
Kvůli obrovské chybovosti a únavě programátorů vznikla potřeba nahradit čísla slovy. To vedlo k vytvoření:
Související články:
Tagy: historie 1GL machine_code binary cpu