¿Qué
es un paradigma de programación?
Un paradigma de programación provee (y
determina) la visión y métodos de un programador en la construcción de un
programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de
programación y en diferentes formas de pensar la solución de problemas (con la
solución de múltiples “problemas” se construye una aplicación).
Los lenguajes de programación son basados
en uno o más paradigmas Por ejemplo: Smalltalk y Java son lenguajes basados en
el paradigma orientado a objetos. El lenguaje de programación Scheme, en
cambio, soporta sólo programación funcional. En cambio Python, soporta
múltiples paradigmas.
Clasificación
por paradigmas de programación
Paradigma Imperativo: describe la
programación como una secuencia instrucciones o comandos que cambian el estado
de un programa. El código máquina en general está basado en el paradigma
imperativo. Su contrario es el paradigma declarativo. En este paradigma se
incluye el paradigma procedimental (procedural) entre otros.
Paradigma
Declarativo: No se basa en el cómo se hace algo (cómo se logra un objetivo paso
a paso), sino que describe (declara) cómo es algo. En otras palabras, se enfoca
en describir las propiedades de la solución buscada, dejando indeterminado el
algoritmo (conjunto de instrucciones) usado para encontrar esa solución. Es más
complicado de implementar que el paradigma imperativo, tiene desventajas en la
eficiencia, pero ventajas en la solución de determinados problemas.
Paradigma
Estructurado: la programación se divide en bloques (procedimientos y funciones)
que pueden o no comunicarse entre sí. Además la programación se controla con
secuencia, selección e iteración. Permite reutilizar código programado y otorga
una mejor compresión de la programación. Es contrario al paradigma inestructurado,
de poco uso, que no tiene ninguna estructura, es simplemente un “bloque”, como
por ejemplo, los archivos batch (.bat).
Paradigma Orientado a Objetos: está
basado en la idea de encapsular estado y operaciones en objetos. En general, la
programación se resuelve comunicando dichos objetos a través de mensajes
(programación orientada a mensajes). Se puede incluir -aunque no formalmente-
dentro de este paradigma, el paradigma basado en objetos, que además posee
herencia y subtipos entre objetos. Ej.: Simula, Smalltalk, C++, Java, Visual
Basic .NET, etc. Su principal ventaja es la reutilización de códigos y su
facilidad para pensar soluciones a determinados problemas.
Paradigma Funcional:
este paradigma concibe a la computación como la evaluación de funciones
matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié
en la aplicación de las funciones y composición entre ellas, más que en los
cambios de estados y la ejecución secuencial de comandos (como lo hace el
paradigma procedimental). Permite resolver ciertos problemas de forma elegante
y los lenguajes puramente funcionales evitan los efectos secundarios comunes en
otro tipo de programaciones. Paradigma lógico: se basa en la definición de
reglas lógicas para luego, a través de un motor de inferencias lógicas,
responder preguntas planteadas al sistema y así resolver los problemas. Ej.:
prolog.
Aquí les dejo un vídeo que nos aclarara mas sobre el tema:
ventajas y desventas faltan
ResponderEliminar