Detail předmětu

Dynamické jazyky

FIT-DJAAk. rok: 2017/2018

K programování dynamických a adaptivních programových systémů musí programovací jazyky podporovat přístup k jejich vlastní struktuře a sledování jejich chování (tato schopnost se nazývá "reflexe"). Kromě toho musí umožnit dynamickou modifikaci jak struktury, tak i chování. LISP a Smalltalk jsou typickými dynamickými jazyky. Předmět se zabývá objektovou orientací v programovacích jazycích, operačních a databázových systémech, vlivem Smalltalku na vývoj objektově orientovaných technologií, seznamuje s čistě objektově orientovanými dynamickými jazyky a systémy Smalltalk a Self. Dále jsou prezentovány architektury a principy implementace systémů typu Smalltalk, v neposlední řadě pak jejich aplikace v rychlém prototypování.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení předmětu

Schopnost používat čisté objektově orientované jazyky typu Smalltalk a jejich dynamické vlastnosti.

Vhled do obecných principů čisté objektové orientace a přehled o možnostech aplikací těchto pricipů v různých oblastech.

Prerekvizity

Nejsou žádné prerekvizity.

Způsob a kritéria hodnocení

Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.

Osnovy výuky

    Osnova přednášek:
    1. Objektová orientace v programovacích jazycích, operačních a databázových systémech.
    2. Kořeny Smalltalku: LISP a Simula 67. Čistá objektová orientace.
    3. Jazyk a systém Smalltalk - čistá objektová orientace založená na třídách.
    4. Jazyk a systém Self - beztřídní čistá objektová orientace.
    5. Perzistence v objektově orientovaných systémech.
    6. Programovací techniky.
    7. Architektura systémů typu Smalltalk.
    8. Principy implementace systémů typu Smalltalk.
    9. Reflektivita, principy otevřených implementací.
    10. Distribuované programování v systémech typu Smalltalk.
    11. Interoperabilita, tvorba heterogenních programových systémů.
    12. Objektově orientované modelování a prototypování, reprezentace znalostí.
    13. Ostatní dynamické jazyky.

    Osnova počítačových cvičení:
    • Jazyk a systém Smalltalk, použití interaktivního vývojového prostředí.
    • Jazyk a systém Self, použití interaktivního vývojového prostředí.
    • Vybrané programovací techniky.

    Osnova ostatní - projekty, práce:
    • Jednoduchá aplikace implementovaná v dynamickém jazyce.

Učební cíle

Seznámit s podstatou a možnostmi dynamických jazyků. Seznámit s kořeny čisté objektové orientace v podobě dynamického jazyka a systému Smalltalk, seznámit s architekturou dynamických objektově orientovaných systémů a s možnostmi jejich aplikací.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Projekt.

Základní literatura

Goldberg, A., Robson, D.: Smalltalk-80: The Language, Addison Wesley, 1989, ISBN 0-201-13688-0 LaLonde, W. Pugh, J.: Inside Smalltalk, Vol. 1, Prentice Hall, 1990, ISBN: 0134684141 Guzdial, M.: Squeak, Prentice Hall, 2001, ISBN 0-13-028028-3

Doporučená literatura

Janoušek, V.: Dynamické jazyky, WWW, 2006

Zařazení předmětu ve studijních plánech

  • Program IT-MGR-2 magisterský navazující

    obor MBI , 0 ročník, letní semestr, volitelný
    obor MSK , 0 ročník, letní semestr, volitelný
    obor MMM , 0 ročník, letní semestr, povinně volitelný
    obor MBS , 0 ročník, letní semestr, povinně volitelný
    obor MPV , 0 ročník, letní semestr, volitelný
    obor MIS , 0 ročník, letní semestr, povinně volitelný
    obor MIN , 0 ročník, letní semestr, volitelný
    obor MGM , 0 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Objektová orientace v programovacích jazycích, operačních a databázových systémech.
  2. Kořeny Smalltalku: LISP a Simula 67. Čistá objektová orientace.
  3. Jazyk a systém Smalltalk - čistá objektová orientace založená na třídách.
  4. Jazyk a systém Self - beztřídní čistá objektová orientace.
  5. Perzistence v objektově orientovaných systémech.
  6. Programovací techniky.
  7. Architektura systémů typu Smalltalk.
  8. Principy implementace systémů typu Smalltalk.
  9. Reflektivita, principy otevřených implementací.
  10. Distribuované programování v systémech typu Smalltalk.
  11. Interoperabilita, tvorba heterogenních programových systémů.
  12. Objektově orientované modelování a prototypování, reprezentace znalostí.
  13. Ostatní dynamické jazyky.

Cvičení na počítači

6 hod., nepovinná

Vyučující / Lektor

Osnova

  • Jazyk a systém Smalltalk, použití interaktivního vývojového prostředí.
  • Jazyk a systém Self, použití interaktivního vývojového prostředí.
  • Vybrané programovací techniky.

Projekt

20 hod., nepovinná

Vyučující / Lektor