Paradigmas de programación funcional vs orientada a objetos: un análisis teórico-comparativo de sus fundamentos, aplicabilidad y evolución en el desarrollo de software moderno
DOI:
https://doi.org/10.55204/trc.v6i1.e587Keywords:
Paradigmas de programación, programación funcional, programación orientada a objetos, desarrollo de software moderno.Abstract
Los paradigmas de programación constituyen marcos conceptuales fundamentales que orientan el diseño, la estructura y el desarrollo de los sistemas informáticos. Entre los paradigmas más influyentes en la ingeniería de software destacan la programación orientada a objetos y la programación funcional, los cuales proponen enfoques distintos para la organización del código y la gestión de los datos dentro de los programas. El presente artículo tiene como objetivo realizar un análisis teórico-comparativo de ambos paradigmas a partir de una revisión bibliográfica de literatura científica especializada. La metodología se basó en la búsqueda, selección y análisis de artículos académicos publicados en bases de datos científicas relevantes en el área de informática y desarrollo de software. Los resultados evidencian que la programación orientada a objetos facilita la modelación de sistemas complejos mediante clases y objetos, permitiendo la modularidad, reutilización del código y organización estructurada del software. Por su parte, la programación funcional promueve el uso de funciones puras y estructuras de datos inmutables, lo que favorece la concurrencia, la escalabilidad y la confiabilidad del software. Finalmente, se concluye que ambos paradigmas son enfoques complementarios cuya integración contribuye al desarrollo de software moderno, escalable, mantenible y adaptado a los desafíos tecnológicos actuales.
Downloads
References
Alic, D., Omanovic, S., & Giedrimas, V. (2016). Comparative analysis of functional and object-oriented programming. Proceedings of the 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). https://doi.org/10.1109/MIPRO.2016.7522224
Batory, D., & O’Malley, S. (1992). The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology. https://doi.org/10.1145/128736.128737
Chambers, J. M. (2014). Object-oriented programming, functional programming and R. Journal of Statistical Software. https://doi.org/10.18637/jss.v058.i02
Dias, B. M., Ferreira, R. C., & Goldman, A. (2025). Functional vs. object-oriented: Comparing how programming paradigms affect the architectural characteristics of systems. Brazilian Symposium on Software Quality. https://doi.org/10.5753/sbqs.2025.15170
Felleisen, M., & Friedman, D. P. (1996). A little Java, a few patterns. MIT Press.
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design patterns: Elements of reusable object-oriented software. Addison-Wesley.
Harrison, R., & Samaraweera, L. G. (1998). Evaluation of the functional and object-oriented programming paradigms: A replicated experiment. ACM SIGSOFT Software Engineering Notes. https://doi.org/10.1145/286366.286374
Hughes, J. (1989). Why functional programming matters. The Computer Journal. https://doi.org/10.1093/comjnl/32.2.98
Hudak, P. (1989). Conception, evolution, and application of functional programming languages. ACM Computing Surveys. https://doi.org/10.1145/72551.72554
Kiczales, G., et al. (1997). Aspect-oriented programming. European Conference on Object-Oriented Programming. https://doi.org/10.1007/BFb0053381
Khan, M. A. (2025). A comparative study of object-oriented, procedural, and functional programming paradigms. Journal of Technology and Software Engineering.
Nanz, S., & Furia, C. A. (2015). A comparative study of programming languages in Rosetta Code. Proceedings of the International Conference on Software Engineering. https://doi.org/10.1109/ICSE.2015.90
Odersky, M., Spoon, L., & Venners, B. (2016). Programming in Scala. Artima Press.
Okasaki, C. (1999). Purely functional data structures. Cambridge University Press. https://doi.org/10.1017/CBO9780511530104
Pierce, B. C. (2002). Types and programming languages. MIT Press.
Reynolds, J. C. (1998). Definitional interpreters for higher-order programming languages. Higher-Order and Symbolic Computation. https://doi.org/10.1023/A:1010027404223
Svensson Sand, K., & Bohlin, M. (2017). A comparison of functional and object-oriented programming paradigms. Uppsala University Technical Report.
Szyperski, C. (2002). Component software: Beyond object-oriented programming. Addison-Wesley.
Thompson, S. (2011). Haskell: The craft of functional programming. Addison-Wesley.
Turner, D. A. (2012). Some history of functional programming languages. Higher-Order and Symbolic Computation. https://doi.org/10.1007/s10990-011-9065-7
Van Roy, P., & Haridi, S. (2004). Concepts, techniques, and models of computer programming. MIT Press.
Wadler, P. (1992). The essence of functional programming. Proceedings of the ACM Symposium on Principles of Programming Languages. https://doi.org/10.1145/143165.143169
Wadler, P. (2015). Propositions as types. Communications of the ACM. https://doi.org/10.1145/2699407
Wing, J. M. (2006). Computational thinking. Communications of the ACM. https://doi.org/10.1145/1118178.1118215
Zhang, Q., Chen, H., & Li, Y. (2021). Software architecture design based on programming paradigms. Journal of Systems and Software. https://doi.org/10.1016/j.jss.2021.110975
Downloads
Published
Issue
Section
License
Copyright (c) 2026 Nuvia Beltrán Robayo

This work is licensed under a Creative Commons Attribution 4.0 International License.
The authors retain the moral and patrimonial rights of their works. They only give to the magazine Tesla Revista Científica the right to the first publication of this. Since Tesla Revista Científica is an open access publication, readers can fully or partially reproduce its content as long as they properly credit the corresponding authors and the journal itself. Tesla Revista Científica undertakes not to make commercial use of the texts it receives and/or publishes.
Our journal is governed by the international policies SHERPA/RoMEO: Green journal: They allow the self-archiving of both the pre-print (draft of a paper) and the post-print (the version corrected and reviewed by peers) and even the final version ( layout as it will be published in the journal).
See also "Copyright and licences".











