1. Co to je sémantická mezera? Jaké problémy nám způsobuje? Diskutujte s ohledem na von Neumannovu architekturu počítače. Sémantická mezera: Rozdíl výkonného hardware na jedné straně a „nevýkonného“ software a jeho tvorby. V současnosti totiž máme výkonný hardware, velmi složitý a hardwarově náročný software, který je schopen plnit naše požadavky a však za cenu velkých finančních nákladů do hardware, do vývoje software jeho udržování a změn. Problémy: Jsme nuceni i ve vyšších programovacích jazycích používat primitivní takzvané „vN operace“. Jedná se o přiřazovací příkazy umožňující přesuny dat a skoky pro změnu toku řízení. Tento fakt se promítá i do různých vnějších podob operačních systémů a různých aplikačních programů. Algoritmy se složitě vyjadřují, rozsáhlé programy jsou neodladitelné, údržba a modifikace hotových programů je problematická a za chodu věnuje procesor více než 50% času systémovým programům. 2. Co to je sémanticky strukturovaná paměť? Jak se liší od klasické paměti von Neumannova počítače? Sémanticky strukturovaná paměť je uspořádána z buněk, které nemají pevnou délku a k obsahu buněk se přistupuje ne pomocí čísel (adres) ale pomocí klíčů (názvů) dat. Další vlastností sémantické paměti je sebeidentifikace dat uložených v paměťových buňkách - tzn., že buňka ví, že v ní je uloženo číslo, obrázek, datum atd… Paměť ve vN architektuře je realizována pomocí posloupnosti paměťových buněk o stejné velikosti, ke kterým se přistupuje pomocí čísel (adres). Informace jsou uloženy homogenně a lineárně. 3. Co víte o historii OOP? Jaké projekty se řešily v 70. letech v laboratořích PARC? OOP: Vznik objektově orientovaného přístupu spojen s tzv. „ryze objektově orientovanými“ programovacími jazyky - jazyky založené na čistých objektově orientovaných prostředích (EPOL) - např. Simula, Smalltalk, ESP, Beta… Na konci 60. let vytvořen 1. objektově orientovaný programovací jazyk Simula. Přinesl mnoho myšlenek OOP především třídy. PARC: V 70. letech v Palo Alto Research Center pracovaly dva týmy vedené Alanem Kayem a Adele Goldbergovou na prvních počítačích jak je známe dnes. Měly grafické rozhraní, myš, klávesnici… Měly mít jednotné softwarové rozhraní, které mělo plnit funkci operačního systému i programovacího jazyka - Smalltak. Ten později ovlivnil vznik např. Objektive C, C++, Java… Počátkem 80. let vznikl programovací jazyk ADA-83, z jehož myšlenek těží mnoho ostatních objektově orientovaných programovacích jazyků. Bjarne Stroustrup vytváří v 80. letech jazyk C++.