Historie programovacích jazyků

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Přidána do kategorie Historie IT)
m (70. léta: Oprava překlepu.)
 
(Nejsou zobrazeny 3 mezilehlé verze 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)].
*Poznámka: „první program“ tedy napsala žena, nikoli muž. ;)
+
* Vytvořila ho [https://cs.wikipedia.org/wiki/Ada_Lovelace Ada Lovelace (→ Wikipedia)].
*Výpočet Bernoulliho čísel na Babbageově Analytical Engine.
+
* 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 ==
+
 
*Assembler -> pojmenování instrukcí
+
<div class="Poznamka">Všimněte si, že „první program“ tedy napsala žena.</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&nbsp;souladu s von Neumannovým schematem přecházely na programování prostřednictvím instrukcí.
 +
* Nejprve ''strojový kód'' &mdash; 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&nbsp;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 ==
 
* 1955 FORTRAN  
 
* 1955 FORTRAN  
 
** první vyšší programovací jazyk
 
** první vyšší programovací jazyk
*LISP
+
* LISP
*COBOL
+
* 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--1978 SQL
+
* 1974&ndash;1978 Jazyk SQL pro dotazování nad databázemi
*1969--1973 C
+
* 1969&ndash;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&nbsp;jazyka C vychází velká část dnešních programovacích jazyků (Java, C#, C++, PHP, Javascript,...). Proto je zápis kódu v&nbsp;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ě objektový jazyk
+
* 1972 SmallTalk
*Prolog
+
** čistě objektově orientovaný programovací jazyk
**matematická logika
+
** Nezná jiné datové typy než objekt (není tam tedy například nic jako v&nbsp;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 69:
 
**1995 PHP
 
**1995 PHP
 
**1995 JavaScript
 
**1995 JavaScript
 +
 +
 
== Po roce 2000 ==
 
== Po roce 2000 ==
*virtualizace
+
* Virtualizace, cloud, mikroslužby
*zjednodušení správy paměti
+
* Zjednodušení správy paměti
**garbage collector
+
** garbage collector &mdash; automatické uvolnění již nevyužívané paměti (ve starších jazycích si musel programátor sám alokovat paměť pro objekty a&nbsp;následně se také starat o&nbsp;uvolňování paměti)
**C#
+
** Tuto techniku využívají běžně: C#, Java, skriptovací jazyky.
**měla již Java, ale v 90. letech příliš výkonově náročné
+
**  
*objektové programování
+
** Existovalo i&nbsp;dříve (například Java v 90.&nbsp;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í.
**do databází
+
* Ukládání objektů do databází (bez nutnosti rozložit na jednotlivé položky)
nejvýznamnější jazyky dnes
+
 
*PHP, Java, C#, C++, Perl,...
+
Mezi nejvýznamnější jazyky dnes bývají řazeny (v&nbsp;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&nbsp;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 22. 9. 2021, 09:03


Obsah

1843 „První program“

Všimněte si, že „první program“ tedy napsala žena.

40. a 50. léta: Strojový kód, děrné štítky, assemblery


60. léta


70. léta

80. léta


90. léta


Po roce 2000

Mezi nejvýznamnější jazyky dnes bývají řazeny (v různém pořadí):


Související stránky


Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje