Paradigmas de Programacion
Paradigmas de Programacion
Paradigmas de Programacion
Grupo 1SB
24 de septiembre del 2021
ELABORADO POR:
Velasco López Carlos Uriel
Introducción
Un paradigma de programación es una manera o estilo de programación de software.
Existen diferentes formas de diseñar un lenguaje de programación y varios modos de
trabajar para obtener los resultados que necesitan los programadores. Se trata de un
conjunto de métodos sistemáticos aplicables en todos los niveles del diseño de programas
para resolver problemas computacionales.
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ódigo1s 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.
(profile.es, n.d.)
Historia
Los lenguajes de programación de hoy son el producto de un desarrollo que se inició en los 1950's.
Numerosos conceptos de lenguajes han sido inventados, examinados e implementados en
sucesivos lenguajes. Con muy pocas excepciones, el diseño de cada lenguaje ha sido fuertemente
influenciado por la experiencia con los lenguajes iniciales. Los lenguajes de hoy no son el producto
final del desarrollo del diseño del lenguaje; nuevos conceptos y paradigmas están siendo
desarrollados y el escenario de los lenguajes de programación de los próximos diez años podría ser
un poco diferente al de hoy.
El paradigma imperativo aún tiene cierto dominio en la actualidad. Una buena parte del software
actual ha sido desarrollado y escrito en lenguajes imperativos. La gran mayoría de programadores
profesionales son principalmente o exclusivamente programadores imperativos (Hay que añadir
que los paradigmas de la programación concurrente y orientada al objeto son en realidad sub-
paradigmas de la programación imperativa, así que sus adeptos también son programadores
imperativos).
Obsérvese que la estructura anidada refleja el hecho de que la función dividir actúa sobre los
resultados de suma y contar.
Alrededor de 1970 David Parnas planteó el ocultamiento de la información como una solución al
problema de gerenciar grandes proyectos software. Su idea fue encapsular cada variable global en
un módulo con un grupo de operaciones (al igual que los procedimientos y las funciones) que
permitan tener un acceso directo a la variable. Otros módulos pueden acceder a la variable sólo
indirectamente, llamando a estas operaciones. Hoy se usa el término objeto para tales módulos o
variables encapsuladas a sí mismas. Lenguajes imperativos como Pascal Y C han sido modificados
(o añadidos) para que soporten el paradigma orientado a objetos para dar Delphi en el caso de
Pascal y C++ en el caso de C.
Una de las bondades importantes de los lenguajes orientados a objetos es que las definiciones de
los objetos pueden usarse una y otra vez para construir múltiples objetos con las mismas
propiedades o modificarse para construir nuevos objetos con propiedades similares pero no
exactamente iguales.
El lenguaje orientado a objetos por excelencia es Smaltalk desarrollado en Palo Alto Research
Center durante los 1970's. (LUIS, 2001)
características
Paradigma Imperativo En programación imperativa la computación se realiza
cambiando el estado del programa por medio de
sentencias que definen pasos de ejecución. Las dos
características principales del paradigma imperativo son,
por tanto, la existencia de estado modificable y la ejecución
de sentencias de control del programa.
Paradigma Declarativo Concepto de celda de memoria ("variable") para
almacenar valores.
Operaciones de asignación
Repetición
Ventajas y desventajas
Ventajas desventajas
Paradigma Basado en una forma de
Imperativo pensar no habitual en las
. personas (estado de
solución).
Realizable con métodos no conocidos en
el momento de la programación.
Es posible el mantenimiento
independiente del desarrollo de la
aplicación
Optimización sencilla, ya que la ejecución
se gestiona mediante un algoritmo.
Conclusiones
Referencias
blogramacion5.blogspot.com. (s.f.). Obtenido de
http://blogramacion5.blogspot.com/2015/09/introduccion-los-paradigmas-de.html