miércoles, 10 de mayo de 2023

Paradigmas y los lenguajes de programación

Paradigmas de programación

Los paradigmas de programación son una forma de clasificar los lenguajes de programación en función de sus características. Los idiomas se pueden clasificar en múltiples paradigmas. Un paradigma de programación es una manera o estilo de programación de software. Se trata de un conjunto de métodos sistemáticos aplicables en todos los niveles del diseño de programas para resolver problemas computacionales.


Tipos de paradigma y sus lenguajes


Paradigma

Características

Ventajas

Desventajas

Ejemplos de lenguajes

Imperativo

Describe cómo debe realizarse el cálculo, mediante una secuencia de instrucciones que modifican el estado del programa.

Es fácil de comprender y se adapta al funcionamiento de las CPUs.

Puede ser difícil de mantener, depurar y reutilizar.

Pascal, C, C++, Java

Lógico

Describe el problema mediante hechos, predicados y relaciones. Utiliza la lógica de predicados y la resolución SLD para obtener los resultados.

Es declarativo, conciso y se adapta a problemas de inteligencia artificial, bases de datos y sistemas expertos.

Puede ser ineficiente, difícil de depurar y limitado a problemas que se puedan expresar en lógica.

Prolog, Datalog

Funcional

Describe el cálculo mediante funciones que no tienen efectos secundarios. Utiliza la evaluación por reducción funcional y técnicas como la recursividad o las mónadas.

Es declarativo, conciso, paralelizable y se adapta a problemas de procesamiento de datos, matemáticos o simbólicos.

Puede ser difícil de comprender, optimizar y trabajar con estados o entradas/salidas.

Lisp, Haskell, Scala

Orientado a objetos

Describe el cálculo mediante objetos que tienen estado y comportamiento. Utiliza conceptos como la abstracción, el encapsulamiento, la herencia y el polimorfismo.

Es modular, reutilizable, extensible y se adapta a problemas que se puedan modelar con objetos del mundo real.

Puede ser complejo, redundante, ineficiente y difícil de probar o depurar.

Smalltalk, C++, Python, Ruby


La calidad en el desarrollo del software

La calidad del software es el grado en que un sistema, componente o proceso cumple con los requisitos especificados y las expectativas del cliente o usuario. La calidad del software es importante porque permite entregar productos que funcionan correctamente, que satisfacen las necesidades de los usuarios, que previenen riesgos de fallos o pérdidas económicas, que son fáciles de mantener y mejorar, y que se adaptan a los cambios del mercado y la tecnología. Algunos beneficios de la calidad del software son:


  • Aumentar la confianza y la satisfacción de los clientes y usuarios.
  • Reducir los costes de desarrollo, pruebas, corrección y mantenimiento.
  • Mejorar la productividad y la eficiencia de los equipos de trabajo.
  • Facilitar la integración y la interoperabilidad con otros sistemas.
  • Cumplir con los estándares y las normativas legales y éticas.

Conclusiones

  • Los paradigmas de programación son una forma de clasificar los lenguajes de programación en función de sus características, ventajas y desventajas.
  • Algunos de los paradigmas más comunes son: imperativo, lógico, funcional y orientado a objetos. Cada uno tiene su propio estilo y se adapta mejor a ciertos tipos de problemas o dominios.
  • La calidad del software es el grado en que un sistema, componente o proceso cumple con los requisitos especificados y las expectativas del cliente o usuario. La calidad del software es importante porque permite entregar productos que funcionan correctamente, que satisfacen las necesidades de los usuarios, que previenen riesgos de fallos o pérdidas económicas, que son fáciles de mantener y mejorar, y que se adaptan a los cambios del mercado y la tecnología.

Referencias

Bourque, P. & Fairley, R. E. (2004). Guide to the Software Engineering Body of Knowledge Versión 3.0. Swebok. Recuperado de https://cs.fit.edu/~kgallagher/Schtick/Serious/SWEBOKv3.pdf

Cabero Almenara, J. (1992). Diseño de software informático. Bordón, 44 (4), 383-391. Recuperado de https://www.researchgate.net/profile/Julio_Almenara/publication/255626488_Diseno_de_software_informatico/links/0deec53b22ea9b0641000000/Diseno-de-software-informatico.pdf

Carrión, S. M., & Iturbide, J. A. V. (2017). Primeros pasos para una mejora en el uso de la taxonomía de Bloom en la enseñanza de la informática. IE Comunicaciones: Revista Iberoamericana de Informática Educativa, (26), 1-12. Recuperado de https://dialnet.unirioja.es/servlet/articulo?codigo=6231880

López Echeverry, A. M., Valencia Ayala, L. E. y Cabrera, C. (2008). Introducción a la calidad de software. Scientia et Technica, Vol. 2 (39), 326-331. Recuperado de https://dialnet-unirioja-es.ibero.basesdedatosezproxy.com/servlet/articulo?codigo=4745899

Trejos Buriticá, O. I. (2012). Consideraciones sobre la evolución del pensamiento a partir de los paradigmas de programación de computadores. Tecnura, vol. 16 (32), 68-83. Recuperado de http://www.scielo.org.co/pdf/tecn/v16n32/v16n32a07.pdf


Autor: César Rivera Sanabria