Functional vs. Object-Oriented: Comparing How Programming Paradigms Affect the Architectural Characteristics of Systems
Resumo
This study compares the impact of adopting object-oriented programming (OOP) or functional programming (FP) on the architectural characteristics of software systems. For that, it examines the design and implementation of a Digital Wallet system developed in Kotlin (for OOP) and Scala (for FP). The comparison is made through a mixed-method approach. The self-ethnographic qualitative analysis provides a side-by-side comparison of both implementations, revealing the perspective of those writing such code. The survey-based quantitative analysis gathers feedback from developers with diverse backgrounds, showing their impressions of those reading this code. Hopefully, these results may be useful for developers seeking to decide which paradigm is best suited for their next project.
Referências
Briza Mel Dias, Alfredo Goldman, and Renato Cordeiro Ferreira. 2024. Functional vs. Object-Oriented: Comparing how Programming Paradigms affect the architectural characteristics of systems. Bachelor’s Thesis. University of São Paulo (USP), São Paulo. [link]
Eric Evans. 2003. Domain-Driven Design (1st ed.). Addison-Wesley Professional, Boston, MA. 1–529 pages.
Finley. 2022. Functional programming is finally going mainstream. [link]
R. Harrison, L.G. Samaraweera, M.R. Dobie, and P.H. Lewis. 1996. Comparing Programming Paradigms: An Evaluation of Functional and Object-Oriented Programs. Software Engineering Journal 11, 4 (1996), 247. DOI: 10.1049/sej.1996.0030
Mustafa Ahmed Khan, Syed Shabeeb Raza, Khalid Mahboob, Sana Alam, Muhammad Asghar Khan, and Muhammad Noman Hasany. 2025. A Comparative Study of Object-Oriented, Procedural, and Functional Programming Paradigms in Microservice Architecture. VFAST Transactions on Software Engineering 13, 3 (9 2025), 176–186. DOI: 10.21015/vtse.v13i3.2216
Robert C. Martin. 2017. Clean Architecture (1st ed.). Pearson, Boston, MA. 1–404 pages.
Sam Newman. 2021. Building Microservices (2nd ed.). O’Reilly Media. 1–612 pages.
Michael Pilquist, Rúnar Bjarnason, Paul Chiusano, Martin Odersky, and Daniel Spiewak. 2023. Functional programming in Scala (2nd ed.). Manning Publications, Shelter Island, NY. 1–488 pages.
Mark Richards and Neal Ford. 2020. Fundamentals of Software Architecture (1st ed.). O’Reilly Media, Sebastopol, CA. 1–419 pages.
L. G. Samaraweera and R. Harrison. 1998. Evaluation of the Functional and Object-Oriented Programming Paradigms. ACM SIGSOFT Software Engineering Notes 23, 4 (7 1998), 38–43. DOI: 10.1145/286366.286374
Charles Scalfani. 2022. Why Functional Programming Should Be The Future of Software Development. [link]
