Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Paradigmas de Programacion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

INSTITUTO TECNOLÓGICO DE OAXACA

Programación Orientada A Objetos


investigación
Paradigmas de programación

Instituto Tecnológico del Estado de Oaxaca

DOCENTE: M.C. Luis Alberto Alonso Hernández

Grupo 1SB
24 de septiembre del 2021

ELABORADO POR:
Velasco López Carlos Uriel

Numero de control: 20161365


Índice
Paradigmas de programación .................................................................................................. 1
Introducción .................................................................................................................................... 2
Historia ................................................................................................................................................ 3
Ventajas y desventajas ........................................................................................................................ 5
Conclusiones ....................................................................................................................................... 7

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 por procedimientos, es tal vez el más conocido y utilizado en el proceso de


programación, donde los programas se desarrollan a través de procedimientos. Pascal C y BASIC
son tres de los lenguajes imperativos más importantes. La palabra latina imperare significa "dar
instrucciones". El paradigma se inició al principio del año 1950 cuando los diseñadores
reconocieron que las variables y los comandos o instrucciones de asignación constituían una
simple pero útil abstracción del acceso a memoria y actualización del conjunto de instrucciones
máquina. Debido a la estrecha relación con la arquitectura de la máquina, los lenguajes de
programación imperativa pueden ser implementados muy eficientemente, al menos en principio.

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).

El paradigma declarativo o paradigma de programación lógica se basa en el hecho que un


programa implementa una relación antes que una correspondencia. Debido a que las relaciones
son mas generales que las correspondencias (identificador - dirección de memoria), la
programación lógica es potencialmente de más alto nivel que la programación funcional o la
imperativa. El lenguaje más popular enmarcado dentro de este paradigma es el lenguaje PROLOG.
El auge del paradigma declarativo se debe a que el área de la lógica formal de las matemáticas
ofrece un sencillo algoritmo de resolución de problemas adecuado para, usarse en un sistema de
programación declarativo de propósito general.

Si la programación imperativa se caracteriza por el uso de variables, comandos y procedimientos,


la programación funcional se caracteriza por el uso de expresiones y funciones. Un programa
dentro del paradigma funcional, es una función o un grupo de funciones compuestas por
funciones más simples estableciéndose que una función puede llamar a otra, o el resultado de una
función puede ser usado como argumento de otra función. El lenguaje por excelencia ubicado
dentro de este paradigma es el LISP. Por ejemplo si se desea obtener la nota promedio de un
alumno podría construirse una función promedio la cual se obtendría a partir de otras funciones
más simples: una (sumar) la cual obtiene la suma de las entradas de la lista, otra (contar) la cual
cuenta el número de entradas de la lista y la tercera (dividir) que obtiene el cociente de los valores
anteriores, su sintaxis será:

(dividir (sumar notas) (contar notas))

Obsérvese que la estructura anidada refleja el hecho de que la función dividir actúa sobre los
resultados de suma y contar.

El paradigma orientado a objetos, se basa en los conceptos de objetos y clases de objetos. Un


objeto es una variable equipada con un conjunto de operaciones que le pertenecen o están
definidas para ellos. El paradigma orientado a objetos actualmente es el paradigma más popular y
día a día los programadores, estudiantes y profesionales tratan de tomar algún curso que tenga
que ver con este paradigma, podría decirse, que programar orientado a objetos está de moda.

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

Paradigma Orientado a Tienen


Objetos  Clase
 Herencia
 Objeto
 Método
 Evento
 Mensaje
 Atributo
 Estado interno
 Componentes de un objeto
 Representación de un objeto

Paradigma Funcional  Un grupo de funciones primitivas


 Un grupo de formas funcionales
 La operación de la aplicación
 Un grupo de datos

Paradigma lógico:  Sintaxis y semántica bien definidas


 Reglas de inferencia
 Caracterización de propiedades y relaciones
 Doble dirección (Entrada/Salida) de los datos
 Datos parcialmente construidos
(blogramacion5.blogspot.com, n.d.)

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.

Paradigma Ventaja: la organizacion en torno a un bus Las características de casos


Declarativo unico es la menos costosa de las de aplicación individuales se
organizaciones. pueden considerar en la
programación, pero
únicamente de forma
compleja.
Desventaja: gran parte del
trafico no es útil para el
computo (son direcciones de
donde se encuentran las
instrucciones y los datos a
procesar)
Paradigma Todo el código que tiene algo que ver con -No todos los programas
Orientado a las naves espaciales se encuentra en un solo pueden ser modelados con
Objetos lugar exactitud por el modelo de
objetos. --Si lo que deseas es
leer algunos datos, hacerles
algo simple y escribir de
nuevo, no tienes necesidad de
definir clases y objetos.
En parte, difícil de
comprender para personas
ajenas.
Paradigma Los programas no cuentan con estados. Los datos no pueden
Funcional Es una forma de programar muy adecuada modificarse, es decir, las
para la paralelización. variables.
Es un código fácilmente testable y No es recomendable usarlo
verificable, incluso en las funciones que no para conexiones de bases de
cuentan con estado. datos y/o servidores. Además,
Se trata de un código más corto, sencillo, no cuenta con un acceso
legible y preciso. eficiente a grandes cantidades
Fácilmente combinable con la de datos.
programación orientada a objetos e No es la mejor opción para
imperativa. recursiones de la misma pila.
Podemos tener errores graves
en la programación
recurrente.
Paradigma • La eficiencia se puede mejorar mediante • No muy eficaz.
lógico: el cambio. • Algunas áreas de aplicación
Controlar componentes sin necesidad de • No existen herramientas de
modificar la lógica depuración eficaces.
del algoritmo. • En problemas prácticos, rara
• Relaciones multifacéticas. vez se usa
• Sencillez.
• Cree rápidamente prototipos e ideas (Rojas, 2020)
complejos.
• Sencillez en la implementación de
estructuras complejas.

Conclusiones

En conclusión, los paradigmas de programación influyen en la manera de desarrollar y estructura


los softwares. En conclusión, de manera personal me quedo con la programación orientada a
objetos ya que me da una imagen mas clara sobre las funciones en las que me guío para
desarrollar un sistema.

Referencias
blogramacion5.blogspot.com. (s.f.). Obtenido de
http://blogramacion5.blogspot.com/2015/09/introduccion-los-paradigmas-de.html

LUIS, E. (2001). sisbib.unmsm.edu.pe. Obtenido de


https://sisbib.unmsm.edu.pe/bibvirtual/publicaciones/indata/v04_n1/lenguajes.htm

profile.es. (s.f.). profile.es.com. Obtenido de https://profile.es/blog/que-son-los-paradigmas-de-


programacion/

Rojas, Á. (19 de noviembre de 2020). incentro.com. Obtenido de https://www.incentro.com/es-


es/blog/stories/que-programacion-funcional/

También podría gustarte