VÝUKOVÝ MATERIÁL Identifikační údaje školy
Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vytvořeno Určeno pro Přílohy
Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 CZ.1.07/1.5.00/34.1076 Pro vzdělanější Šluknovsko 32 – Inovace a zkvalitnění výuky prostřednictvím ICT 0207 Mgr. Bc. Jan Škoda Programování VY_32_INOVACE_0207_0101 Historie programování a programovacích jazyků Žák si upevní učivo o historii programování a programovacích jazycích. 13. 7. 2013 3. ročník oboru Informační technologie Bez příloh
Metodický list • Učitel: • Výklad s projekcí elektronického učebního materiálu. • Ukázka obecného postupu činností. • Monitorování činnosti žáků.
• Žák: • Sleduje výkladovou projekci a demonstraci učitele.
Historie programování a programovacích jazyků
Úvod • Programování je proces od návrhu algoritmu, psaní, testování a ladění zdrojového kódu počítačového programu (SW) a následné údržby. • Zdrojový kód programu je zápisem algoritmu ve zvoleném programovacím jazyce. • Cílem programování je vytvořit program, který vykonává nějakou úlohu.
Historie programování • Počítač rozumí jen jedinému jazyku a tím je strojový kód (binární jazyk). • Programovací jazyky se dělí do dvou skupin:
• Nižší jazyk (bližší ke strojovému kódu - Assembler). • Vyšší jazyk (blíže k jednoduchému jazyku, který má danou syntaxi).
První programování • První programovací jazyk vznikl s příchodem první generace počítačů tzv. počítače na míru. • Programovalo se ve strojovém kódu. • Programy byly uloženy na vnějších médiích. • První programovací jazyk byl jazyk symbolických instrukcí Assembler (1952). • Výrazně zjednodušil generování strojového kódu.
Assembler • Programovací jazyk nejnižší úrovně. • Syntaxe i sémantika je závislá na možnostech konkrétního počítače. • Nejvyšší možná rychlost překladu. • Assembler umožňuje rozdělit 1 program na více elementárních částic, které mezi sebou komunikují. • Programy zabírají málo místa.
Ukázka assembleru • mov eax, 1 ; Naplní registr EAX hodnotou 1 • mov ebx, eax ; Zkopíruje obsah registru EAX do registru EBX • mov ecx, dword ptr dwValue ; Naplní obsah registru ECX hodnotou uloženou v proměnné dwValue • mov ah, al • mov ch, cl • mov bx, ax • ret
Další vyvíjení programovacích jazyků • Úkolem bylo odstranit strojovou závislost jazyků, která vyžadovala od programátora velké znalosti strojového jazyka. • Další úkol byl poskytnout programátorům prostředí, ve kterém by mělo být řešení problémů jednodušší.
3. generace programovacích jazyků • Velkou změnou bylo v 60. letech 20. století rozšíření strojově nezávislých jazyků. • Podporovaly metodu strukturovaného programování.
• Prvním takovýmto programovacím jazykem byl Fortran (Formula Translation), který vznikl u IBM v roce 1957. • Následovaly jazyky Algol (Algorithmic Language), Cobol (Common Business Oriented Language). • Algol 58, vylepšený později do podoby Algol 60 a Algol 68 (podle let publikování), byl prvním univerzálním programovacím jazykem vhodným pro různé typy úloh.
Fortran (1954) • Jazyk vyvíjený týmem IBM vedený J. Backusem. • Fortran byl velmi snadno naučitelným jazykem a vedl k maximálně efektivnímu programu. • Fortran byl jazyk určený k vědeckotechnický účelům, proto neřešil úplně všechny problémy. • Fortran se brzy stal jedničkou mezi programovacími jazyky a více než půl století se využíval například pro výpočty předpovědi počasí, analýzu pevných částic a další fyzikální a chemické výpočty.
Nové jazyky ve 3. generaci počítačů. • 3. generace byla generací integrovaných obvodů a úložiště tvořily magnetické disky. • Basic (1964) • Neobsahoval podprogramy a nerozlišoval typy číselných proměnných. • Byl také určený k vědeckotechnickým účelům.
Objektově orientované programování • Takto bývá někdy nazývána rodina objektově orientovaných programovacích jazyků. • Základními pojmy objektově orientovaného programování (dále OOP) jsou: • objekt je nějaká skutečnost (např. konkrétní člověk, konkrétní firma), o níž uchováváme data a operace pro manipulaci s těmito daty. • třída je kategorie, do níž daný objekt patří, např. třída všech lidí, třída všech firem. • dědičnost je vztah mezi nižší a vyšší třídou, při němž třída – potomek převezme rysy od třídy – rodiče.
Objektově orientované programování • Základními pojmy objektově orientovaného programování (dále OOP) jsou: • polymorfismus – vlastnost programovacího jazyka, speciálně v objektově orientovaném programování, která umožňuje objektům volání jedné metody se stejným jménem, ale s jinou implementací. • zapouzdření znamená zabalení dat a operací s nimi do jediné obálky tak, že implementační detaily jsou skryty před uživatelem objektu. • S každým typem dat jsou svázány konkrétní metody, jiným způsobem s daty nelze pracovat.
Jazyky 4. generace počítačů • 4. generace je charakterizována využitím mikroprocesorů. Pascal (1971 Wirth) • Je velmi obecný a jednoduchý a proto byl navržen pro výuku programování učitelem vysoké školy. • Nástupce Pascalu je Turbo Pascal.
C (1974) • Byl původně jazyk vytvořen pro vývoj operačního systému UNIX. • C-jazyk je jazyk unikátní (střední úrovně). • Může fungovat stejně dobře jako systémový nebo aplikační programovací jazyk. • Výhoda C je schopnost rozšiřovat sám sebe. • Nástupce je jazyk C++, který byl objektově orientovaný (OOP).
90. léta až po současnost • V těchto letech se prudce rozvíjely skriptovací jazyky a to hlavně kvůli použití na internetu, který se rozvíjel (PHP, Python, Perl,…). • Veškeré moderní programovaní stojí na objektově orientovaném programování.
Nejvýznamnější jazyky Jazyk
Rok
Autor
Předchůdce
Assembler
1952
Kolektiv autorů
-
Basic
1964
Kemeney a Kurtz
Algol 60
Pascal
1971
N. Wirth
Algol 60
C
1974
D. Ritchie
Algol 60 a 68
Zdroj: Autor
Zdroje • Historie. In: Objektová analýza, návrh a programování [online]. 2013 [cit. 2013-07-13]. Dostupné z: http://objekty.vse.cz/Programovani/ Historie. • KRUBOVÁ, Kateřina. Historie programovacích jazyků. In: Historie a vývojové trendy ve výpočetní technice [online]. 2000 [cit. 2013-0713]. Dostupné z: http://www.fi.muni.cz/usr/jkucera/pv109/ 2000/xkrubova. • MAYER, Daniel. Historie programování. In: Prof. Ing. Daniel Mayer, DrSc.: Katedra teoretické elektrotechniky, FEL, ZČU Plzeň [online]. 2010 [cit. 2013-07-13]. Dostupné z: http://home.zcu.cz/~jmayer/ ZPE/Prezentace/1-Historie_programovani.ppt • Programování. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2013 [cit. 2013-07-13]. Dostupné z: http://cs.wikipedia.org/wiki/Programování.