Advanced programming constructs and techniques in the Swift language

Thesis title: Pokročilé programové konstrukce a programovací techniky jazyka Swift
Author: Čislinský, Jan
Thesis type: Diplomová práce
Supervisor: Pecinovský, Rudolf
Opponents: Oraný, Vladimír
Thesis language: Česky
Abstract:
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í.
Keywords: programovací jazyk; swift; pokročilé programové konstrukce; programovací techniky; objektově orientované paradigma; funkcionální paradigma
Thesis title: Advanced programming constructs and techniques in the Swift language
Author: Čislinský, Jan
Thesis type: Diploma thesis
Supervisor: Pecinovský, Rudolf
Opponents: Oraný, Vladimír
Thesis language: Česky
Abstract:
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.
Keywords: programming language; swift; advanced program constructs; programming techniques; object-oriented paradigm; functional paradigm

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 8. 1. 2017
Date of submission: 26. 4. 2017
Date of defense: 7. 6. 2017
Identifier in the InSIS system: https://insis.vse.cz/zp/60633/podrobnosti

Files for download

    Last update: