The lecture deals with the development of Programming methodology (structural, modular, object, event-driven, logic, functional, ... programming) and with it's reflection in different programming languages. We pay more attention to the languages of broad practical usage than to the theoretical ones. The repertoire of languages will vary every year but some of them are the constant part of the lecture (FORTRAN, ALGOL 60 and 68, PL/I, Simula, Pascal, Ada, LISP, APL, Prolog, Smalltalk, C and C++, Java).
Last update: T_KSVI (04.05.2005)
Přednáška je vhodná především pro studenty informatiky - jak odborného,
tak i učitelského studia, mohou ji však navštěvovat i posluchači jiných
oborů, kteří se hlouběji zajímají o programování. Přednáška předpokládá u
posluchačů znalosti základů programování, programovacích jazyků Pascal
(včetně objektového programování v něm), C a C++ a některého
neprocedurálního jazyka - nejlépe Prologu. Složení příslušných zkoušek
však není vstupní podmínkou. Na přednášce se společně zamyslíme nad
vývojem metodiky programování (strukturované, modulární, objektové,
event-driven, logické, funkcionální,... programování) a nad tím, jak se
tyto koncepty projevily v nejdůležitějších programovacích jazycích. Půjde
nám o souvislosti, ne o detaily nebo přesný historický popis vývoje. Při
výběru programovacích jazyků budeme větší pozornost věnovat těm, které se
skutečně "ujaly v praxi".
Last update: ()
Literature - Czech
Ellis Horowitz, ed.: Programming Languages: A Grand Tour, Rockville, Computer Science Press 1987
další zdroje budou průběžně doplňovány během přednášky
Last update: Kryl Rudolf, RNDr. (25.06.2019)
Syllabus -
The content of the lecture can be (and usually really is) adapted to the interests of the students. Lectures are based on real examples from original textbooks which have been used for the explication of programming languages in the times, when they were used.
Some topics which are usually covered by the lecture:
1. Prehistory of Programming Languages up to Fortran, development of Fortran, PL/I.
2. ALGOL 60 a it's successors (ALGOL 68, Pascal, ?)
3. SIMULA a discrete simulation programming
4. LISP, APL, Haskell and functional programming
5. Ada and modular programming
6. Discussion of real contribution of C and C++.
7. Java
8. Methods of iImplementation of some features of Programming Languages
Last update: T_KSVI (04.05.2005)
Přesná náplň přednášky může být přizpůsobena zájmům studentů. Míra pozornosti věnovaná jednotlivým aspektům a programovacím jazykům bude záviset i na zájmu posluchačů. Výklad bude veden pomocí příkladů, nepředpokládá se však, že by posluchači museli psát a ladit svoje programy v jednotlivých jazycích.
Některá témata, která téměř jistě nemineme (nejde však o chronologii přednášky):.
I. Prehistorie programovacích jazyků až po FORTRAN. FORTRAN a jeho další vývoj. PL/I.
II. ALGOL 60 a jeho bezprostřední následníci (ALGOL 68, Pascal,...).
III. SIMULA a programování diskrétních simulací.
IV. LISP, APL a funkcionální programování.
V. ADA.
VI. SMALLTALK.
VII. Co přineslo C a C++.
VIII. Java a C#.
IX. Implementace některých rysů programovacích jazyků.
U zkoušky si student vybere jeden z jazyků, kterým bude na přednášce věnována největší pozornost. Zvolený jazyk bude muset znát podrobněji. Kromě toho bude vypsán jistý počet \"přehledových\" otázek pokrývajících přednášku.
Další možností jak splnit požadavky zkoušky je, že student vypracuje esej na relevatní téma (podléhá schválení přednášejícího) a její téze při zkoušce obhájí.