Historie programovacích jazyků
Z MiS
(Rozdíly mezi verzemi)
m (→70. léta: Oprava překlepu.) |
(Doplnění poznámky: Programovat lze i bez počítače + doplnění chybějící uvozovky u Analytical Engine.) |
||
Řádka 2: | Řádka 2: | ||
== 1843 „První program“ == | == 1843 „První program“ == | ||
− | * Postup pro výpočet Bernoulliho čísel na Babbageově počítači [https://cs.wikipedia.org/wiki/Analytick%C3%BD_stroj | + | * Postup pro výpočet Bernoulliho čísel na Babbageově počítači [https://cs.wikipedia.org/wiki/Analytick%C3%BD_stroj „Analytical Engine“ (→ Wikipedia)]. |
* Vytvořila ho [https://cs.wikipedia.org/wiki/Ada_Lovelace Ada Lovelace (→ Wikipedia)]. | * Vytvořila ho [https://cs.wikipedia.org/wiki/Ada_Lovelace Ada Lovelace (→ Wikipedia)]. | ||
* Vzhledem k tomu, že funkční verzi stroje Analytical Engine se podařilo sestrojit až v 70. letech 20. století, jednalo se pouze o popis algoritmu. | * Vzhledem k tomu, že funkční verzi stroje Analytical Engine se podařilo sestrojit až v 70. letech 20. století, jednalo se pouze o popis algoritmu. | ||
− | <div class="Poznamka">Všimněte si, že „první program“ tedy napsala žena.</div> | + | <div class="Poznamka"> |
+ | Všimněte si, že „první program“ tedy napsala žena. | ||
+ | |||
+ | Zároveň si všimněte, že pro zápis programu není třeba počítač — zkonstruovat skutečný Analytical Engine nebylo s tehdejšími technologiemi finančně reálné. | ||
+ | </div> | ||
== 40. a 50. léta: Strojový kód, děrné štítky, assemblery == | == 40. a 50. léta: Strojový kód, děrné štítky, assemblery == |
Verze z 24. 9. 2024, 07:17
Obsah |
1843 „První program“
- Postup pro výpočet Bernoulliho čísel na Babbageově počítači „Analytical Engine“ (→ Wikipedia).
- Vytvořila ho Ada Lovelace (→ Wikipedia).
- Vzhledem k tomu, že funkční verzi stroje Analytical Engine se podařilo sestrojit až v 70. letech 20. století, jednalo se pouze o popis algoritmu.
Všimněte si, že „první program“ tedy napsala žena.
Zároveň si všimněte, že pro zápis programu není třeba počítač — zkonstruovat skutečný Analytical Engine nebylo s tehdejšími technologiemi finančně reálné.
40. a 50. léta: Strojový kód, děrné štítky, assemblery
- První počítače se „programovaly“ fyzickým přepojováním elektronických okruhů.
- Později v souladu s von Neumannovým schematem přecházely na programování prostřednictvím instrukcí.
- Nejprve strojový kód — programátor ukládá do paměti či na děrné štítky binární kódy instrukcí.
- 1948 byla představena sada instrukcí pro ENIAC (počítač sám stvořený už 1943).
- Později vznikají první assemblery
- Pojmenování instrukcí textovými názvy
- + pojmenování míst v paměti (proměnných)
- Viz nižší programovací jazyky.
60. léta
- 1955 FORTRAN
- první vyšší programovací jazyk
- LISP
- COBOL
- hromadné zpracování dat, předchůdce databází
- Algol 60
- koncept skrývání kódu (vnitřní proměnné)
- Algol 68
- paralelní výpočty, funkce
- ale ne moc populární, považován za složitý
- z něj se později vyvinul Pascal (Niklaus Wirth)
- databázové systémy (postupný rozvoj)
70. léta
- 1970 relační databáze
- Významný přínos výzkumník E. F. Codd
- 1974–1978 Jazyk SQL pro dotazování nad databázemi
- 1969–1973 Programovací jazyk C
- spojen s Unixem, velký rozvoj
- orientovaný na programování systémových programů
- Ritchie, Thompson
- Z jazyka C vychází velká část dnešních programovacích jazyků (Java, C#, C++, PHP, Javascript,...). Proto je zápis kódu v těchto jazycích hodně podobný.
- Simula
- nad Algolem 60
- první objektově orientovaný programovací jazyk
- 1972 SmallTalk
- čistě objektově orientovaný programovací jazyk
- Nezná jiné datové typy než objekt (není tam tedy například nic jako v Javě
int
, jen předdefinovaná třídaInteger
).
- Prolog
- matematická logika
80. léta
- snaha o jazyky páté generace
- programátor nezadává pořadí volání funkcí
- velké systémy
90. léta
- jazyky pro web
- objektové programování do starších jazyků
- Object Pascal
- Visual Basic
- Java
- skriptovací jazyky
- tvorba testů
- on-line aplikace
- 1995 PHP
- 1995 JavaScript
Po roce 2000
- Virtualizace, cloud, mikroslužby
- Zjednodušení správy paměti
- garbage collector — automatické uvolnění již nevyužívané paměti (ve starších jazycích si musel programátor sám alokovat paměť pro objekty a následně se také starat o uvolňování paměti)
- Tuto techniku využívají běžně: C#, Java, skriptovací jazyky.
- Existovalo i dříve (například Java v 90. letech 20. století), ale pro tehdejší počítače to bylo značně výkonově náročné, takže se nedoporučovalo používat tyto jazyky pro programování systémových aplikací.
- Ukládání objektů do databází (bez nutnosti rozložit na jednotlivé položky)
Mezi nejvýznamnější jazyky dnes bývají řazeny (v různém pořadí):
- C#, Java, Python, PHP, Perl, C++, Javascript...
- Konkrétní pořadí oblíbenosti se liší podle účelu použití a konkrétního výzkumu. Zde uvádíme jen ty velmi často citované.
Související stránky