Pokročilé programové konstrukce a programovací techniky jazyka Swift
Název práce: | Pokročilé programové konstrukce a programovací techniky jazyka Swift |
---|---|
Autor(ka) práce: | Čislinský, Jan |
Typ práce: | Diplomová práce |
Vedoucí práce: | Pecinovský, Rudolf |
Oponenti práce: | Oraný, Vladimír |
Jazyk práce: | Česky |
Abstrakt: | Tato práce se zaměřuje na představení pokročilých programových konstrukcí a programovacích technik jazyka Swift. Také rozebírám programová paradigmata, která koncepce jazyka Swift podporuje (objektově-orientované a funkcionální). Popisuji konkrétní koncepty jednotlivých paradigmat s následným zhodnocením, jak Swift dané paradigma podporuje.
Podrobně vysvětluji pokročilé konstrukce následujících oblastí: práce s proměnnými, použití typu s možnou prázdnou hodnotou, výčtových typů, funkcí a uzávěrů. Dále vytváření vlastních operátorů a subskriptů. Představuji jak se pracuje s protokoly a generickými typy. Také popisuji jak na paralelní vykonávání programů a jak ošetřit chybové stavy pomocí vyhazování chyb. Zevrubně vysvětluji hodnotové typy a rozdíly oproti referenčním typům. Dále zanořování typů a nechybí ani popis všech funkcí vyššího řádu v jazyce Swift. Nakonec představuji práci s rozšířeními, konkrétně rozšíření o vypočítanou proměnnou, inicializační metodu, funkci, subskript, zanořený typ a také rozšiřování protokolů a generických typů.
Z pohledu pokročilých programovacích technik probírám následující: řetězení a kompozice funkcí, ukládání struktur, optimalizace výkonu hodnotových typů, reflexe v jazyce Swift. Dále popisuji způsob fungování modulů a jmenných prostorů a na závěr protokolově-orientované programování. |
Klíčová slova: | programovací jazyk; swift; pokročilé programové konstrukce; programovací techniky; objektově orientované paradigma; funkcionální paradigma |
Název práce: | Advanced programming constructs and techniques in the Swift language |
---|---|
Autor(ka) práce: | Čislinský, Jan |
Typ práce: | Diploma thesis |
Vedoucí práce: | Pecinovský, Rudolf |
Oponenti práce: | Oraný, Vladimír |
Jazyk práce: | Česky |
Abstrakt: | The thesis focuses on advanced programming constructs and techniques of the Swift programming language. At the beginning programming paradigms that are supported by the Swift design (object-oriented and functional) are introduced. Concepts of each paradigm are described and Swift is then evaluated by the level of support for these paradigms.
Following programming constructs are described in-depth: working with variables, optional types, enumerated types, functions and closures. Creating of custom operators and subscripts. Operations with protocols, generic types and parallel program execution. Error handling with throwing functions. Detailed explanation of value types and their differences from reference type is given too. Thesis also explains nested types and all higher-order functions in Swift. At the end are described extensions; specifically extension of computed property, initialization function, function, subscript, nested type and protocol and generic types extensions.
In the last section of the thesis these advanced programming techniques are described; function chaining and composition, structure saving, performance optimization of value types, reflection in the Swift programming language and how modules and namespaces work. At the end protocol-oriented programming is introduced. |
Klíčová slova: | programming language; swift; advanced program constructs; programming techniques; object-oriented paradigm; functional paradigm |
Informace o studiu
Studijní program / obor: | Aplikovaná informatika/Informační systémy a technologie |
---|---|
Typ studijního programu: | Magisterský studijní program |
Přidělovaná hodnost: | Ing. |
Instituce přidělující hodnost: | Vysoká škola ekonomická v Praze |
Fakulta: | Fakulta informatiky a statistiky |
Katedra: | Katedra informačních technologií |
Informace o odevzdání a obhajobě
Datum zadání práce: | 8. 1. 2017 |
---|---|
Datum podání práce: | 26. 4. 2017 |
Datum obhajoby: | 7. 6. 2017 |
Identifikátor v systému InSIS: | https://insis.vse.cz/zp/60633/podrobnosti |