PARADIGMAS DE PROGRAMACIÓN
¿Que es un paradigma?
Un paradigma de programación es un modelo fundamental para diseñar e implementar programas, definiendo la estructura del software, cómo se construyen los bloques básicos y cómo se combinan. Los paradigmas dan forma a la manera de pensar y resolver problemas en la programación. Cada paradigma tiene conceptos específicos, pero también comparten elementos comunes. Elegir el paradigma adecuado es importante para desarrollar software de manera efectiva, ya que algunos paradigmas se adaptan mejor a ciertos tipos de problemas. En esencia, un paradigma de programación es un conjunto de reglas que modelan el proceso de diseño y determinan la estructura de los programas, mientras que un lenguaje de programación se alinea con un paradigma al adoptar sus patrones conceptuales.
- Paradigma Imperativo
- Describe la programación en términos del estado del programa y las sentencias que cambian ese estado.
- Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.
- Se basa en un algoritmo que detalla la secuencia de ejecución mediante estructuras de control.
- Utiliza variables y estructuras de datos, vinculados a celdas de memoria, que se modifican mediante asignaciones.
- Ejemplos de lenguajes: Fortran, C, Pascal.
- Ventajas:
- Código directo y ejecución rápida.
- Fácil de corregir errores si está bien modularizado.
- Estructura clara si se modulariza adecuadamente.
- Limitaciones:
2.Paradigma Estructurado
- Es una evolución del paradigma imperativo.
- Describe la programación en términos del estado del programa y sentencias que cambian dicho estado.
- Los programas se organizan en bloques de código con estructuras de control (secuencia, selección, iteración).
- Lenguajes asociados: Fortran, C, Pascal.
3. Paradigma Orientado a Objetos
- Se basa en la idea de encapsular estado y operaciones en objetos.
- Los objetos colaboran entre sí enviándose mensajes para lograr un objetivo común.
- Utiliza conceptos como clases, objetos, encapsulamiento, herencia y polimorfismo.
- Lenguajes asociados: Smalltalk, Simula, Java, C++, Python.
- Ventajas:
- Reusabilidad del código.
- Mantenibilidad por la facilidad de abstracción.
- Fiabilidad por la posibilidad de testear partes del programa de manera independiente.
- Limitaciones:
- Puede generar programas más extensos y lentos en algunos casos.
- Curva de aprendizaje puede ser más lenta para quienes vienen de otros paradigmas.
4. Paradigma Declarativo
- Se basa en especificar “qué” se quiere resolver, en lugar de “cómo”.
- Se declaran condiciones, proposiciones, afirmaciones, restricciones, etc.
- La solución se obtiene mediante mecanismos internos de control.
- Incluye los paradigmas Funcional y Lógico.
5. Paradigma Funcional
- Concibe la computación como la evaluación de funciones matemáticas.
- Evita declarar y modificar datos, centrándose en la aplicación de funciones.
- Lenguajes asociados: Lisp, Haskell, ML.
- Ventajas:
- Altos niveles de abstracción.
- Fácil de formular matemáticamente.
- Rapidez en la codificación.
- Administración automática de memoria.
- Evaluación perezosa.
- Limitaciones:
- Limitaciones en portabilidad, librerías, interfaces y depuración.
- Eficiencia de ejecución no comparable a paradigmas imperativos.
6. Paradigma Lógico
- Se basa en la definición de reglas lógicas para responder preguntas y resolver problemas.
- Utiliza un motor de inferencias lógicas.
- Lenguajes asociados: Prolog.
- Ventajas:
- Simplicidad.
- Cercanía a las especificaciones del problema.
- Potencia en la búsqueda de soluciones.
- Sencillez en la implementación de estructuras complejas.
- Limitaciones:
- Poco utilizado en aplicaciones de gestión.
- Pocas herramientas de depuración efectivas.
- Programas poco eficientes por la lentitud de los intérpretes.
Fuentes:
https://ria.utn.edu.ar/bitstreams/d5e27897-93bb-415d-8bcc-40a51f46761f/download




