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 MBS , libovolný ročník, letní semestr, povinně volitelný
    obor MBI , libovolný ročník, letní semestr, volitelný
    obor MIS , libovolný ročník, letní semestr, povinně volitelný
    obor MIN , libovolný ročník, letní semestr, volitelný
    obor MMM , libovolný ročník, letní semestr, povinně volitelný
    obor MGM , libovolný ročník, letní semestr, volitelný
    obor MPV , libovolný ročník, letní semestr, volitelný
    obor MSK , libovolný 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