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(面向对象)和 Scala(函数式)开发的数字钱包系统的设计与实现。通过混合方法进行比较:自我民族志定性分析对两种实现进行了并置对比,揭示了编写此类代码者的视角;基于调查的定量分析收集了来自不同背景开发者的反馈,展现了阅读此类代码者的印象。希望这些结果能为寻求确定何种范式最适合其下一个项目的开发者提供参考。