Uživatelské nástroje

Nástroje pro tento web


it:lang:3gl

Třetí generace jazyků (3GL)

Třetí generace programovacích jazyků (3GL) jsou tzv. vyšší programovací jazyky. Jsou navrženy tak, aby byly snadno čitelné pro člověka pomocí anglických klíčových slov (jako `if`, `while`, `for`, `print`). Na rozdíl od strojového kódu a asembleru jsou tyto jazyky hardwarově nezávislé.

1. Hlavní přínosy 3GL

Před nástupem 3GL musel programátor přesně vědět, jak procesor manipuluje s registry a pamětí. 3GL přinesly revoluci v několika směrech:

  • Abstrakce: Programátor pracuje s proměnnými a datovými typy místo přímých adres v paměti.
  • Přenositelnost (Portability): Zdrojový kód napsaný v 3GL lze s minimálními změnami přeložit a spustit na různých architekturách (např. x86 i ARM).
  • Strukturované programování: Zavedení logických bloků a funkcí, což umožnilo psát mnohem složitější a udržovatelnější software.
  • Produktivita: Jeden řádek v 3GL může odpovídat desítkám instrukcí v asembleru.

2. Překlad kódu: Kompilace vs. Interpretace

Počítač stále rozumí pouze nulám a jedničkám. Kód v 3GL proto musí být převeden do strojového kódu jedním ze dvou způsobů:

1. **Kompilace:** Celý zdrojový kód je najednou přeložen kompilátorem do spustitelného souboru (`.exe`). Příklad: **C, C++, Rust**.
2. **Interpretace:** Interpret čte kód řádek po řádku a okamžitě ho vykonává. Příklad: **Python, JavaScript**.
3. **Hybridní přístup:** Kód je přeložen do mezistupně (bytecode), který běží ve virtuálním stroji. Příklad: **Java, C#**.

3. Významní zástupci a jejich éry

Období Jazyky Hlavní přínos
50. - 60. léta FORTRAN, COBOL, LISP První vědecké výpočty, obchodní data a základy AI.
70. léta C, Pascal, Ada Systémové programování, strukturovaný návrh, efektivita.
80. - 90. léta C++, Java, Python Objektově orientované programování, internetové aplikace.
Současnost Rust, Go, Swift Bezpečnost paměti, moderní paralelizace a výkon.

4. Srovnání čitelnosti

Podívejte se, jak se zápis zjednodušil od 2GL k 3GL:

2GL (Asembler - specifické pro procesor):

MOV AL, 10
ADD AL, 20

3GL (Jazyk C - univerzální):

int vysledek = 10 + 20;

5. Co následovalo?

Zatímco 3GL definovaly jak má počítač úkol vykonat (procedurální přístup), další generace se posunuly dál:

  • 4GL (Čtvrtá generace): Jazyky zaměřené na to, co se má udělat (např. SQL pro databáze).
  • 5GL (Pátá generace): Jazyky pro umělou inteligenci založené na řešení omezení a logice (např. Prolog).

Související články:

Tagy: historie programming_languages 3GL abstraction software_development

it/lang/3gl.txt · Poslední úprava: autor: admin