Obsah
1GL: První generace programovacích jazyků
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.
1. Charakteristika 1GL
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.
- Binární forma: Instrukce jsou tvořeny řetězci nul a jedniček ($0$ a $1$).
- Hardwarová závislost: Kód je vázán na konkrétní procesor. Program pro jeden stroj nelze spustit na jiném (nulová portabilita).
- Absolutní kontrola: Programátor přímo ovládá registry procesoru a adresy v operační paměti.
2. Jak vypadá strojový kód?
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ě).
3. Výhody a nevýhody
| 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. |
4. Historické zajímavosti
- Děrné štítky: Programy v 1GL se často zadávaly pomocí děrných štítků nebo fyzickým přepínáním spínačů na předním panelu počítače.
- Programátorky a programátoři: První programátoři (často ženy, jako např. operátorky stroje ENIAC) museli znát elektrické schéma počítače, aby pochopili, jak instrukce fyzicky protékají obvody.
5. Přechod k vyšším generacím
Kvůli obrovské chybovosti a únavě programátorů vznikla potřeba nahradit čísla slovy. To vedlo k vytvoření:
- 2GL (Assembly): Nahradilo binární kódy mnemotechnickými zkratkami (např. `ADD` místo `1011`).
Související články:
Tagy: historie 1GL machine_code binary cpu
