Principios de diseño en lenguajes de programación y su impacto en la calidad del software

Authors

DOI:

https://doi.org/10.63688/t9xzg726

Keywords:

Lenguajes de programación, Correctitud del software, Mantenibilidad, Rendimiento

Abstract

El presente estudio analiza los principios fundamentales que orientan el diseño de lenguajes de programación modernos, destacando su impacto en la calidad del software. A partir de un enfoque cualitativo y un análisis documental de literatura científica, se identificaron tres pilares esenciales: la correctitud, la mantenibilidad y el rendimiento. Los resultados evidencian que la correctitud constituye el objetivo prioritario, ya que permite desarrollar programas que cumplen con su propósito y minimizan errores desde etapas tempranas mediante mecanismos como sistemas de tipos estrictos, validaciones en compilación y abstracciones claras. En cuanto a la mantenibilidad, se determinó que principios como la modularidad, el bajo acoplamiento, la alta cohesión, el encapsulamiento y la separación de responsabilidades facilitan la comprensión, modificación y evolución del software, especialmente en entornos de desarrollo dinámicos. Por otro lado, el rendimiento, aunque subordinado a los aspectos anteriores, sigue siendo indispensable, ya que garantiza la eficiencia en la ejecución de los programas mediante técnicas como la compilación optimizada y modelos de ejecución predecibles. Asimismo, se identificó una relación directa entre estos tres principios, evidenciando que la correctitud favorece la mantenibilidad, y esta, a su vez, contribuye a optimizar el rendimiento. El análisis del lenguaje de programación Wybe permitió ejemplificar cómo estos principios pueden integrarse en una propuesta concreta de diseño. En conclusión, el estudio demuestra que un enfoque equilibrado entre correctitud, mantenibilidad y rendimiento es clave para el desarrollo de software confiable, adaptable y eficiente.

Author Biography

  • Segundo Alexander Rosado Martínez, Universidad Estatal de Milagro

     

     

References

Banker, R. D., Davis, G. B., & Slaughter, S. A. (1998). Software development practices, software complexity, and software maintenance performance: A field study. Management Science, 44(4), 433–450. https://doi.org/10.1287/mnsc.44.4.433

Benaroch, M., & Lyytinen, K. (2023). How much does software complexity matter for maintenance productivity? IEEE Transactions on Software Engineering, 49(5), 2459–2475. https://doi.org/10.1109/TSE.2022.3153703

Berrio Pacheco, Y., & Benitez Hernandez, R. M. (2024). Estudio de incidencia de lenguajes de programación y entornos de desarrollo en el mercado laboral. https://repositorio.unicordoba.edu.co/server/api/core/bitstreams/1286aa8f-6124-418c-928e-39afca743206/content

Brooks, F. P. (1975). The mythical man-month. ACM SIGPLAN Notices, 10(6), 193–200. https://doi.org/10.1145/390016.808319

Erlikh, L. (2000). Leveraging legacy system dollars for e-business. IT Professional, 2(3), 17–23. https://doi.org/10.1109/6294.848309

Espinosa, J. A., Slaughter, S. A., Kraut, R. E., & Herbsleb, J. D. (2007). Team knowledge and coordination in geographically distributed software development. Journal of Management Information Systems, 24(1), 135–169. https://doi.org/10.2753/MIS0742-1222240104

Gosling, J., & McGilton, H. (1995). The Java language environment: A white paper. Sun Microsystems. https://www.oracle.com/java/technologies/javase/whitepaper.html

Herbsleb, J. D., & Mockus, A. (2003). An empirical study of speed and communication in globally distributed software development. IEEE Transactions on Software Engineering, 29(6), 481–494. https://doi.org/10.1109/TSE.2003.1205177

Hofmann, M. (2000). A type system for bounded space and functional in-place update. En Programming Languages and Systems (pp. 165–179). Springer. https://doi.org/10.1007/3-540-46425-5_11

Krishnan, M. S., Kriebel, C. H., Kekre, S., & Mukhopadhyay, T. (2000). An empirical analysis of productivity and quality in software products. Management Science, 46(6), 745–759. https://doi.org/10.1287/mnsc.46.6.745.12035

Lattner, C., & Adve, V. (2004). LLVM: A compilation framework for lifelong program analysis & transformation. En Proceedings of the International Symposium on Code Generation and Optimization. https://doi.org/10.1109/CGO.2004.1281665

Lehman, M. M. (1996). Laws of software evolution revisited. En European Workshop on Software Process Technology (pp. 108–124). Springer. https://doi.org/10.1007/BFb0017026

Meyer, B. (1988). Object-oriented software construction. Prentice Hall. https://books.google.com.ec/books/about/Object_oriented_Software_Construction.html?id=D6i-QgAACAAJ&redir_esc=y

Nanz, S., & Furia, C. A. (2015). A comparative study of programming languages in Rosetta Code. En Proceedings of the 37th IEEE/ACM International Conference on Software Engineering (pp. 778–788). IEEE. https://doi.org/10.1109/ICSE.2015.90

Parnas, D. L. (1972). On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12), 1053–1058. https://doi.org/10.1145/361598.361623

Ramasubbu, N., & Balan, R. K. (2007). Globally distributed software development project performance: An empirical analysis. En Proceedings of the ACM SIGSOFT Symposium on Foundations of Software Engineering (pp. 125–134). https://doi.org/10.1145/1287624.1287643

Ray, B., Posnett, D., Filkov, V., & Devanbu, P. (2014). A large scale study of programming languages and code quality in GitHub. En Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp. 155–165). ACM. https://doi.org/10.1145/2635868.2635922

Romero Aguilar, J. F., & Freire Cobo, L. E. (2024). Diseño de diagramas de componentes de software, utilizando un gran modelo de lenguaje y aplicando técnicas de optimización para lograr resultados contextualmente relevante (Doctoral dissertation, ESPOL. FIEC). https://www.dspace.espol.edu.ec/handle/123456789/67425

Stevens, W. P., Myers, G. J., & Constantine, L. L. (1974). Structured design. IBM Systems Journal, 13(2), 115–139. https://doi.org/10.1147/sj.132.0115

Downloads

Published

2025-03-18

How to Cite

Rosado Martínez, S. A. (2025). Principios de diseño en lenguajes de programación y su impacto en la calidad del software. CognitivaTech: Ingeniería De Software Inteligente Y Sistemas Adaptativos, 2(1), 1-12. https://doi.org/10.63688/t9xzg726

Similar Articles

You may also start an advanced similarity search for this article.