Original title:
Funkcionální programování v Javě
Translated title:
Functional Programming in Java
Authors:
VYSOCKÝ, Milan Document type: Bachelor's theses
Year:
2019
Language:
cze Abstract:
[cze][eng] Cílem této bakalářské práce je v teoretické i praktické části představit funkcionální (deklarativní) programování se všemi jeho hlavními rysy, analyzovat jeho implementaci a porovnat ho s objektově orientovaným (imperativním) programování. Teoretická část je zaměřena na funkcionální programování, kde budou objasněny jeho základní principy, realizace v Javě a důvody, proč tento druh programování vůbec vznikl. Pomocí poměrně nových rysů jazyka tzn. lambda výrazy, datovody, implicitní metody, funkční rozhraní, jejichž implementace bude mimo jiné také dopodrobna analyzovaná, budou představeny možnosti funkcionálního programování v Javě. Pomocí srovnání mezi funkcionálním programováním a programováním objektově orientovaným se zváží výhody a nevýhody jednotlivých přístupů. V praktické části bakalářské práce bude naprogramováno několik vlastních praktických řešených příkladů, na kterých je vidět použití všech výše uvedených rysů jazyka.The aim of this bachelor thesis is to introduce functional (declarative) programming with all its main features in the theoretical and practical part, analyze its implementation and compare it with object oriented (imperative) programming. The theoretical part is focused on functional programming, where its basic principles will be clarified, implementation in Java and why this programming paradigm was developed. Using relatively new language features, i.e. lambda expressions, streams, default methods, functional interfaces, whose implementation among other things, will be analyzed, will be introduced the possibilities of functional programming in Java. By comparing functional programming and object-oriented programming, the advantages and disadvantages of each approach are considered. In the practical part of the bachelor thesis there are programmed several practical examples documenting the possibility of using all the language features mentioned above.
Keywords:
Declarative programming; Default methods; Functional interface; Functional programming; Java 8; Lambda expressions; Streams; Datovody; Deklarativní programování; Funkcionální programování; Funkční rozhraní; Implicitní metody; Java 8; Lambda výrazy Citation: VYSOCKÝ, Milan. Funkcionální programování v Javě. České Budějovice, 2019. bakalářská práce (Bc.). JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH. Pedagogická fakulta
Institution: University of South Bohemia in České Budějovice
(web)
Document availability information: Fulltext is available in the Digital Repository of University of South Bohemia. Original record: http://www.jcu.cz/vskp/54997