Materia: Tecnologías de la información
Alumna: Elizabeth Sánchez Estrada
Fecha de entrega: 12/09/2024
¿Qué es un paradigma de programación?
La programación engloba diferentes enfoques y técnicas guían el desarrollo de
software. Estos enfoques, conocidos como paradigmas de programación, ofrecen
distintas filosofías y metodologías para abordar problemas computacionales. Desde
la clásica programación imperativa hasta los modernos paradigmas orientados a
objetos y funcionales, cada uno tiene sus propias fortalezas, debilidades y
aplicaciones específicas.
Diferentes tipos de paradigma
Paradigma imperativo
Los programas consisten en una sucesión de instrucciones o conjunto de
sentencias, como si el programador diera órdenes concretas.
El desarrollador describe en el código paso por paso todo lo que hará su
programa.
Algunos lenguajes: Pascal, COBOL, FORTRAN, C, C++, etc.
Otros enfoques subordinados al paradigma de programación imperativa son:
Programación estructurada: La programación estructurada es un tipo de
programación imperativa donde el flujo de control se define mediante bucles
anidados, condicionales y subrutinas, en lugar de a través de GOTO.
Programación procedimental: Este paradigma de programación consiste
en basarse en un número muy bajo de expresiones repetidas, englobarlas
todas en un procedimiento o función y llamarlo cada vez que tenga que
ejecutarse.
Programación modular: consiste en dividir un programa en módulos o
subprogramas con el fin de hacerlo más manejable y legible. Se trata de una
evolución de la programación estructurada para resolver problemas de
programación más complejos.
Paradigma declarativo
Este paradigma no necesita definir algoritmos puesto que describe el
problema en lugar de encontrar una solución al mismo. Este paradigma
utiliza el principio del razonamiento lógico para responder a las preguntas o
cuestiones consultadas.
Este paradigma a su vez se divide en dos:
Programación Lógica: Prolog
Programación funcional: Lisp, Scala, Java , Kotlin
Programación orientada a objetos
En este modelo de paradigma se construyen modelos de objetos que
representan elementos (objetos) del problema a resolver, que tienen
características y funciones. Permite separar los diferentes componentes de un
programa, simplificando así su creación, depuración y posteriores mejoras.
La programación orientada a objetos disminuye los errores y promociona la
reutilización del código. Es una manera especial de programar, que se
acerca de alguna manera a cómo expresaríamos las cosas en la vida real.
Podemos definir un objeto como una estructura abstracta que, de manera
más fiable, describe un posible objeto del mundo real y su relación con el
resto del mundo que lo rodea a través de interfaces. Ejemplos de lenguajes
de programación orientados a objetos serían Java, Python o C#.
La programación orientada a objetos se sirve de diferentes conceptos como:
Abstracción de datos
Encapsulación
Eventos
Modularidad
Herencia
Polimorfismo
Programación Funcional
En este paradigma, el énfasis está en la evaluación de funciones
matemáticas puras. Se evita el cambio de estado y la mutabilidad de los
datos, lo que facilita la escritura de código más conciso y fácil de razonar.
Lenguajes como Haskell, Lisp y Scala son ejemplos de lenguajes
funcionales.
Programación Lógica
En este enfoque, los programas están basados en reglas lógicas. Se define
qué se quiere obtener y el sistema de programación lógica se encarga de
encontrar la solución. Prolog es uno de los lenguajes más conocidos que
sigue este paradigma.
Programación Declarativa
Este paradigma se centra en describir qué debe hacerse, en lugar de cómo
hacerlo. Los lenguajes de consulta como SQL son un ejemplo de
programación declarativa, donde se especifica qué datos se desean obtener
sin tener que preocuparse por los detalles de cómo se obtienen.
Programación basada en eventos
Este paradigma se centra en responder a eventos que ocurren en el sistema,
como clics de ratón o pulsaciones de teclas. Los programas están
estructurados en torno a la definición de manejadores de eventos que se
activan cuando ocurre un evento específico. JavaScript en el contexto de
desarrollo web es un ejemplo común de este paradigma.
Algunos ejemplos de plataformas y herramientas que utilizan la
programación orientada a eventos incluyen el modelo de eventos del
navegador web (como JavaScript en el navegador), frameworks de desarrollo
de aplicaciones web como Node.js, y bibliotecas como Qt para desarrollo de
int
Referencias APA
Profile. (n.d.). ¿Qué son los paradigmas de programación? Recuperado
el 11 de septiembre de 2024, de https://profile.es/blog/que-son-los-
paradigmas-de-programacion
Escribe un reporte con tus propias palabras e
información de internet citando en formato APA sobre
los paradigmas de programación que contenga los
siguientes puntos:
¿Que es un paradigma de programación?
La programación abarca varios enfoques y técnicas que guían
la creación de software. Estos enfoques, llamados paradigmas
de programación, proporcionan diferentes filosofías y métodos
para resolver problemas computacionales. Desde la
programación imperativa clásica hasta los paradigmas
modernos como la programación orientada a objetos y la
programación funcional, cada uno tiene sus propias ventajas,
desventajas y aplicaciones específicas.
Evolución Histórica
1. Primer gran paso en la programación: En los años 50,
surgieron los primeros lenguajes tradicionales como
FORTRAN, COBOL y BASIC. Las estructuras lógicas de control
utilizadas eran secuenciales, con instrucciones como IF-THEN,
IF-THEN-ELSE y DO (actualmente conocido como FOR). La
técnica de diseño predominante eran los diagramas de flujo.
2. Segundo gran paso en la programación (Programación
estructurada): A principios de los 60, se empezaron a usar
lenguajes como PASCAL, COBOL estructurado, FORTRAN con
estilo estructurado, FORTRAN 90 y C. Las estructuras de
control incluían secuencias, IF-THEN, IF-THEN-ELSE, CASE,
FOR, DO-UNTIL y DO-WHILE. Las técnicas de diseño incluían
diagramas Warnier, diagramas estructurados, diagramas
Chapin, pseudocódigo y diseño descendente (Top-Down
Design). Esta programación era adecuada para problemas
complejos y contenía más módulos en comparación con la
programación tradicional, que solo tenía uno.
3. Tercer gran paso en la programación (Programación
modular): A finales de los 70 y principios de los 80, se
utilizaron lenguajes como Modula-2. Surgió el concepto de
encapsulación, donde los datos y las funciones que los
manipulan se agrupan en módulos o paquetes.
4. Cuarto gran paso en la programación (Programación
con abstracción de datos): En los años 80, con lenguajes
como ADA, emergió el concepto de Tipos Abstractos de Datos
(TAD).
5. Quinto gran paso en la programación (Programación
Orientada a Objetos): A finales de los 80 y principios de los
90, se introdujeron conceptos como objetos, clases,
encapsulación, herencia y polimorfismo. Los lenguajes
utilizados incluían C++, Java y C#. Las técnicas de diseño
incluían Booch, Rumbaugh, Jacobson, Yourdon y UML, entre
otras. La arquitectura de un programa consistía en un
conjunto de objetos, cada uno compuesto por datos y
métodos, donde cada método estaba formado por un conjunto
de instrucciones.
APA: Yasno, A. (n.d.). Evolución de los paradigmas de la
programación. WordPress.
https://alexanderyasno.wordpress.com/evolucion-de-los-paradigmas-
de-la-programacion/
Conclusión:
En resumen, la evolución de los paradigmas de programación
ha sido un viaje fascinante que ha transformado la forma en
que desarrollamos software. Desde los primeros lenguajes
tradicionales en los años 50, como FORTRAN y COBOL, hasta
los modernos lenguajes orientados a objetos como C++ y
Java, cada etapa ha introducido nuevas técnicas y conceptos
que han mejorado la eficiencia y la capacidad de resolver
problemas complejos.
1. Primer gran paso: Los años 50 vieron el nacimiento de
lenguajes como FORTRAN y COBOL, con estructuras de control
secuenciales y el uso de diagramas de flujo.
2. Segundo gran paso (Programación estructurada): En los
60, lenguajes como PASCAL y C introdujeron estructuras de
control más avanzadas y técnicas de diseño como el
pseudocódigo y el diseño descendente.
3. Tercer gran paso (Programación modular): A finales de
los 70 y principios de los 80, lenguajes como Modula-2
promovieron la encapsulación, agrupando datos y funciones
en módulos.
4. Cuarto gran paso (Programación con abstracción de
datos): En los 80, con lenguajes como ADA, surgió el
concepto de Tipos Abstractos de Datos (TAD).
5. Quinto gran paso (Programación Orientada a
Objetos): A finales de los 80 y principios de los 90, lenguajes
como C++ y Java introdujeron conceptos clave como objetos,
clases, herencia y polimorfismo, revolucionando la
arquitectura del software.
Cada uno de estos pasos ha contribuido a la evolución de la
programación, permitiendo a los desarrolladores abordar
problemas cada vez más complejos de manera más eficiente
y organizada.