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.
翻译:本研究比较了采用面向对象编程(OOP)与函数式编程(FP)对软件系统架构特性的影响。为此,我们考察了分别使用 Kotlin(用于 OOP)和 Scala(用于 FP)开发的数字钱包系统的设计与实现。比较通过混合方法进行。自我民族志定性分析对两种实现进行了并排比较,揭示了编写此类代码者的视角。基于调查的定量分析收集了来自不同背景开发者的反馈,展现了阅读此代码者的印象。希望这些结果能为寻求确定哪种范式最适合其下一个项目的开发者提供参考。