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.e587Palabras clave:
Paradigmas de programación, programación funcional, programación orientada a objetos, desarrollo de software moderno.Resumen
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.
Descargas
Referencias
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
Descargas
Publicado
Número
Sección
Licencia
Derechos de autor 2026 Nuvia Beltrán Robayo

Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.
Los autores conservan los derechos morales y patrimoniales de sus obras. Puesto que Tesla Revista Científica es una publicación de acceso abierto, los lectores pueden reproducir total o parcialmente su contenido siempre y cuando proporcionen adecuadamente el crédito a los autores correspondientes y a la revista misma. Tesla Revista Científica se compromete a no hacer uso comercial de los textos que recibe y/o publica.
Nuestra revista se rige por las politicas internacionales SHERPA/RoMEO: Revista verde: Permiten el autoarchivo tanto del pre-print (borrador de un trabajo) como del post-print (la versión corregida y revisada por pares) y hasta de la versión final (maquetada tal como saldrá publicada en la revista).
Véase también "Derechos de autor y licencias".



