Treffer: Applicability of Effect Handler Oriented Programming (EHOP) for Text-Based Game Development

Title:
Applicability of Effect Handler Oriented Programming (EHOP) for Text-Based Game Development
Contributors:
Poulsen, C.B. (mentor), van der Rest, C.R. (mentor), Reinders, J.S. (mentor), Bohmer, Wendelin (graduation committee), Delft University of Technology (degree granting institution)
Publication Year:
2022
Collection:
Delft University of Technology: Institutional Repository
Document Type:
Dissertation bachelor thesis
Language:
English
Rights:
© 2022 Ivan Todorov
Accession Number:
edsbas.2EE06EDB
Database:
BASE

Weitere Informationen

Effect handler oriented programming (EHOP) is a recently proposed programming paradigm, which aims to provide a separation of concerns by isolating the handling of side-effects from the main application logic. Nowadays, as the core concepts behind EHOP are being added to more and more programming languages, it is evident that EHOP is slowly but steadily growing in popularity. Therefore, it is important to explore the applicability of EHOP for different areas of software development. However, so far, very little research has been conducted on this topic and, thus, barely any possible application domains of EHOP have been investigated. This study focuses on a potential field of application of EHOP, which has not been covered by previous research, namely - text-based game development, and aims to determine the extent to which the usage of EHOP for text-based game development affects the modularity, readability and maintainability of the source code. This goal will be achieved by performing both a qualitative as well as a quantitative analysis of the source code of a text-based game, written in Koka - a state-of-the-art programming language, which supports EHOP. The results show that there are substantial benefits to using EHOP for text-based game development. It significantly improves the modularity, readability and maintainability of the source code at the cost of very little to no performance. ; https://github.com/ivanstodorov/chess-game-koka This is a link to the GitHub repository, which contains all of the source code, that was used, while writing this Bachelor thesis. ; CSE3000 Research Project ; Programming With Effects ; Computer Science and Engineering