Historie programovacích jazyků
Z MiS
(Rozdíly mezi verzemi)
m (Přidána do kategorie Historie IT) |
m (→60. léta: Fortran vznikal v letech 1953-1957.) |
||
(Není zobrazeno 5 mezilehlých verzí od 1 uživatele.) | |||
Řádka 2: | Řádka 2: | ||
== 1843 „První program“ == | == 1843 „První program“ == | ||
− | *Ada Lovelace | + | * 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. | |
− | == 40. a 50. léta Strojový kód, děrné štítky, assemblery == | + | |
− | * | + | <div class="Poznamka"> |
− | *1948 sada instrukcí pro ENIAC (počítač sám stvořený už 1943) | + | 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 == | ||
+ | * 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 | ||
− | *LISP | + | ** navržen pro sálové počítače IBM |
− | *COBOL | + | * LISP |
+ | * COBOL | ||
** hromadné zpracování dat, předchůdce databází | ** hromadné zpracování dat, předchůdce databází | ||
− | *Algol 60 | + | * Algol 60 |
**koncept skrývání kódu (vnitřní proměnné) | **koncept skrývání kódu (vnitřní proměnné) | ||
− | *Algol 68 | + | * Algol 68 |
− | **paralelní výpočty, funkce | + | ** paralelní výpočty, funkce |
− | **ale ne moc populární, považován za složitý | + | ** ale ne moc populární, považován za složitý |
− | **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 == | ||
*1970 relační databáze | *1970 relační databáze | ||
− | **E. F. Codd | + | ** Významný přínos výzkumník E. F. Codd |
− | *1974 | + | * 1974–1978 Jazyk SQL pro dotazování nad databázemi |
− | *1969 | + | * 1969–1973 Programovací jazyk C |
− | **spojen s Unixem, velký rozvoj | + | ** spojen s Unixem, velký rozvoj |
− | **orientovaný na programování systémových programů | + | ** orientovaný na programování systémových programů |
− | **Ritchie, Thompson | + | ** Ritchie, Thompson |
− | *Simula | + | ** 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ý. |
− | **nad Algolem 60 | + | * Simula |
− | **první objektově orientovaný jazyk | + | ** nad Algolem 60 |
− | *1972 SmallTalk | + | ** první objektově orientovaný programovací jazyk |
− | **čistě | + | * 1972 SmallTalk |
− | *Prolog | + | ** čistě objektově orientovaný programovací jazyk |
− | **matematická logika | + | ** Nezná jiné datové typy než objekt (není tam tedy například nic jako v Javě <code>int</code>, jen předdefinovaná třída <code>Integer</code>). |
+ | * Prolog | ||
+ | ** matematická logika | ||
+ | |||
== 80. léta == | == 80. léta == | ||
*snaha o jazyky páté generace | *snaha o jazyky páté generace | ||
**programátor nezadává pořadí volání funkcí | **programátor nezadává pořadí volání funkcí | ||
*velké systémy | *velké systémy | ||
+ | |||
+ | |||
== 90. léta == | == 90. léta == | ||
*jazyky pro web | *jazyky pro web | ||
Řádka 51: | Řádka 73: | ||
**1995 PHP | **1995 PHP | ||
**1995 JavaScript | **1995 JavaScript | ||
+ | |||
+ | |||
== Po roce 2000 == | == Po roce 2000 == | ||
− | * | + | * Virtualizace, cloud, mikroslužby |
− | * | + | * Zjednodušení správy paměti |
− | **garbage collector | + | ** 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) |
− | **C# | + | ** 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) |
− | nejvýznamnější jazyky dnes | + | |
− | * | + | 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 == | == Související stránky == | ||
* [[Programovací jazyky]] | * [[Programovací jazyky]] | ||
− | == Zdroje | + | |
+ | == Zdroje == | ||
* [http://en.wikipedia.org/wiki/History_of_programming_languages Wikipedia.org > History of programming languages] | * [http://en.wikipedia.org/wiki/History_of_programming_languages Wikipedia.org > History of programming languages] | ||
* [http://cs.wikipedia.org/wiki/Datab%C3%A1ze Wikipedia.org > Databáze] | * [http://cs.wikipedia.org/wiki/Datab%C3%A1ze Wikipedia.org > Databáze] |
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