Historie programovacích jazyků
Z MiS
(Rozdíly mezi verzemi)
(Doplněn text, aby byl více samovysvětlující.) |
m (→60. léta: Fortran vznikal v letech 1953-1957.) |
||
(Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.) | |||
Řá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 „Analytical Engine“ (→ 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. | ||
− | == 40. a 50. léta Strojový kód, děrné štítky, assemblery == | + | 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> |
− | * 1948 sada instrukcí pro ENIAC (počítač sám stvořený už 1943) | + | |
+ | == 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 [[Programovac%C3%AD_jazyky#Ni.C5.BE.C5.A1.C3.AD_programovac.C3.AD_jazyky | nižší programovací jazyky]]. | ||
== 60. léta == | == 60. léta == | ||
− | * | + | * 1953-1957 FORTRAN |
** první vyšší programovací jazyk | ** první vyšší programovací jazyk | ||
+ | ** navržen pro sálové počítače IBM | ||
* LISP | * LISP | ||
* COBOL | * COBOL | ||
Řádka 26: | Řádka 37: | ||
** z něj se později vyvinul Pascal (Niklaus Wirth) | ** z něj se později vyvinul Pascal (Niklaus Wirth) | ||
* databázové systémy (postupný rozvoj) | * databázové systémy (postupný rozvoj) | ||
− | |||
== 70. léta == | == 70. léta == | ||
Řádka 36: | Řádka 46: | ||
** orientovaný na programování systémových programů | ** orientovaný na programování systémových programů | ||
** Ritchie, Thompson | ** Ritchie, Thompson | ||
− | ** Z& | + | ** 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 | * Simula | ||
** nad Algolem 60 | ** nad Algolem 60 | ||
Řádka 45: | Řádka 55: | ||
* Prolog | * Prolog | ||
** matematická logika | ** matematická logika | ||
− | |||
== 80. léta == | == 80. léta == |
Aktuální verze z 24. 9. 2024, 07:20
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
- 1953-1957 FORTRAN
- první vyšší programovací jazyk
- navržen pro sálové počítače IBM
- 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