Skip to main content

Jak porozumět digitálnímu světu (Ukázka, strana 99)

Page 1

II. Software / 5. Programování a programovací jazyky integer cislo, soucet soucet = 0 10 read(5,*) cislo if (cislo .eq. 0) goto 20 soucet = soucet + cislo goto 10 20 write(6,*) soucet stop end Obr. 5.2: Program pro sčítání čísel ve Fortranu.

jazyka symbolických instrukcí. Hopperová spolupracovala ve 40. letech s dalším počítačovým průkopníkem Howardem Aikenem na raných mechanických počítačích Harvard Mark I a II a začátkem 50. let na prvním komerčním sériově vyráběném počítači UNIVAC I. Byla jedním z prvních, kdo rozpoznali potenciál vyšších programovacích jazyků a překladačů. COBOL byl zaměřen na zpracování ekonomických dat a jeho skladba usnadňovala vyjadřovat operace se zásobami a s účetnictvím, kalkulace mezd a podobně. Také COBOL se stále ještě používá, i když i on se podstatně proměnil. Dalším jazykem z těch dob je BASIC (Beginner’s All-purpose Symbolic Instruction Code čili Univerzální symbolické kódové instrukce pro začátečníky), který na americké Dartmouth College vyvinuli v roce 1964 John Kemeny a Tom Kurtz. BASIC měl být velmi snadným jazykem pro výuku programování. Byl zcela jednoduchý a stačily mu jen velmi omezené výpočetní zdroje, takže se stal prvním vyšším jazykem na osobních počítačích. Zakladatelé Microsoftu Bill Gates a Paul Allen dokonce začali tím, že v roce 1975 napsali překladač BASIC pro mikropočítač Altair; byl to první produkt jejich firmy. Jedna z hlavních odnoží BASIC stále funguje jako Microsoft Visual Basic. V dobách, kdy byly počítače velmi drahé, pomalé a kapacitně omezené, vládly obavy, že programy psané ve vyšších jazycích budou příliš neefektivní, protože překladače je nebudou schopny převádět do jazyka symbolických adres tak dobře jako zkušení programátoři v tomto jazyce. Tvůrci překladačů ale usilovně pracovali na tom, aby překlady byly stejně dobré jako ručně psané programy, což přispělo ke všeobecnému rozšíření vyšších jazyků. Dnes, kdy jsou počítače mnohomilionkrát rychlejší a mají o stejný faktor více paměti, se už programátoři efektivností na úrovni jednotlivých instrukcí zabývají jen zřídkakdy, tvůrci překladačů si s tím ale dělají starosti stále. Fortran, COBOL a BASIC uspěly zčásti díky tomu, že se zaměřily na specifická použití a záměrně se nesnažily zvládnout každý možný programovatelný

98

Ukázka elektronické knihy, UID: KOS269848


5.2 Vyšší programovací jazyky úkol. V 70. letech programátoři vyvíjeli jazyky pro „systémové programování“, tedy pro psaní programátorských nástrojů, jako jsou assemblery, překladače, textové procesory a operační systémy. Zdaleka nejúspěšnějším z nich se stal jazyk C, který v roce 1973 vyvinul Dennis Ritchie ve výzkumné společnosti Bell Labs. C se stále široce používá a od svého vzniku se změnil jen minimálně; dnes vypadá z valné většiny stejně jako před 30 nebo 40 lety. Na obrázku 5.3 je program pro sčítání čísel v jazyce C. #include <stdio.h> main() { int cislo, soucet; soucet = 0; while (scanf(”%d”, &cislo)!= EOF && cislo != 0) soucet = soucet + cislo; printf(”%d\n”, soucet); } Obr. 5.3: Program pro sčítání čísel v jazyce C.

V 80. letech se vyvíjely jazyky typu C++ (ten vytvořil Bjarne Stroustrup v Bell Labs), které měly usnadnit vznik velmi rozsáhlých programových projektů. C++ se vyvinul z C a program v C je ve většině případů platným programem i v C++, jak je tomu u programu na obrázku 5.3, naopak to ale neplatí. Obrázek 5.4 ukazuje jednu z mnoha možností, jak napsat program pro sčítání čísel v jazyce C++. #include <iostream> using namespace std; main() { int cislo, soucet; soucet = 0; while (cin >> cislo && cislo != 0) soucet = soucet + cislo; cout << soucet << endl; } Obr. 5.4: Program pro sčítání čísel v jazyce C++.

Většina významnějších programů na našich dnešních počítačích je psána v C nebo C++. Tuto knihu jsem psal na notebooku Mac, kde je většina softwaru psána v jazycích C, C++ a Objective-C (dialekt jazyka C). Její první náčrt jsem

99

Ukázka elektronické knihy, UID: KOS269848


II. Software / 5. Programování a programovací jazyky dělal v textovém procesoru Word, což je program psaný v C a C++; nyní texty upravuji, formátuji a tisknu pomocí dalších programů v C a C++, záložní kopie si dělám na operačních systémech Unix a Linux (oba to jsou programy v C) a pro brouzdání po internetu používám prohlížeče Firefox a Chrome (oba C++). Během 90. let vznikly další jazyky, jimiž programátoři reagovali na rozvoj internetu a sítě World Wide Web. Počítače dál dostávaly stále rychlejší procesory a větší paměti, takže důraz na rychlost a pohodlí programování převážil nad snahou o efektivnost programu; toho zcela záměrně využívají jazyky jako Java a JavaScript. Jazyk Java vyvinul počátkem 90. let James Gosling ze společnosti Sun Microsystems. Jeho původním záměrem bylo vytvořit jazyk pro malé vestavěné systémy, jako jsou domácí spotřebiče a různá elektronická zařízení, kde nezáleží příliš na rychlosti, ale na flexibilitě. Java se pak přeorientovala na webové stránky, kde se neuchytila, ale široce ji začaly používat webové servery: když navštívíme web typu eBay, běží nám v počítači jazyky C++ a JavaScript, eBay ale může vytvářet stránky, které nám posílá do prohlížeče, klidně i pomocí Javy. Java je rovněž jazykem, jímž se píšou aplikace pro operační systém Android. Java je jednodušší než C++ (vyvíjí se ale podobně jako on k větší složitosti), ale komplikovanější než C. Je nicméně bezpečnější než C, protože odstranila některé rizikové prvky a má zabudované mechanismy pro řešení úkolů náchylných k chybám, jako je například správa složitých datových struktur v RAM. Proto je to také velmi často první jazyk, který se učí studenti programování. Na obrázku 5.5 je program pro sčítání čísel v jazyce Java. Je trochu upovídanější než v jiných jazycích, což pro Javu není nic neobvyklého, spojením několika výpočtů by se ale mohl o dva nebo tři řádky zkrátit. import java.util.*; class Addup { public static void main (String [] args) { Scanner keyboard=newScanner(System.in); int cislo, soucet; soucet = 0; cislo = keyboard.nextInt(); while (cislo != 0) { soucet = soucet + cislo; cislo = keyboard.nextInt(); } System.out.println(soucet); } } Obr. 5.5: Program pro sčítání čísel v jazyce Java.

100

Ukázka elektronické knihy


Turn static files into dynamic content formats.

Create a flipbook
Jak porozumět digitálnímu světu (Ukázka, strana 99) by Kosmas-CZ - Issuu