Está en la página 1de 9

ACTIVIDAD 1 Descripción de los paradigmas de desarrollo de software

Marzo 2020

Universidad Manuela Beltrán


Ingeniería de Software Virtual
Desarrollo de Software Modular
ii
Abstract

En este documento se plasma la comparación entre los paradigmas de programación


imperativa y declarativa, se analizan sus ventas, desventajas y que lenguajes encontramos en
cada uno de estos paradigmas.
iii
Tabla de Contenidos

Imperativo........................................................................................................................................1
Ventajas.......................................................................................................................................1
Desventajas..................................................................................................................................1
Título 3.....................................................................................................................................1
Título 3.....................................................................................................................................1
Lengaujes.....................................................................................................................................1
Declarativa.......................................................................................................................................2
Ventajas.......................................................................................................................................2
Desventajas..................................................................................................................................2
Lenguajes.....................................................................................................................................2
Título 3.....................................................................................................................................2
Título 3.....................................................................................................................................2
Imperativa vs Declarativa................................................................................................................6
Lista de referencias..........................................................................................................................7
Imperativa

Este es el paradigma de programación mas antiguo y lo que define es que un

programa es una serie de instrucciones claramente definidas para un ordenador, dentro

del código fuente de los programas desarrollados bajo este paradigma contienen una serie

de instrucciones que se ejecutan en cadena para obtener un resultado deseado, las

instrucciones se pueden gestionar a través de estructuras de control como bucles o

estructuras anidadas

Clasificación

Programación Estructurada

Agrega estructuras de control concretas para eliminar la complejidad de las

instrucciones de salto del código imperativo.

Programación Procedimental

Divide las tareas/procesos que debe realizar el programa en partes mas pequeñas,

con esto se logra el principio de reutilización de código.

Programación Modular

Se diseñan, desarrollan y prueban de forma individual cada uno de los

componentes y se integran dentro del un gran software al final del proceso.


Ventajas

Dentro de las ventajas que tiene la programación imperativa se tiene

 Fácilmente legible

 Tiene una curva de aprendizaje rápida en lo relativo a los comportamientos

 Modelos de fácil comprensión

 Se pueden aplicar características especiales si lo requiere la aplicación

Desventajas

Dentro de las desventajas que tiene la programación imperativa se tiene

 El código crece rápidamente y puede ser difícil de mantener

 Riesgos de edición

 La programación funciona con el sistema, si se realiza el mantenimiento de este se

bloquea la programación

 Dificultad en mejoras y escalabilidad

Lenguajes más populares

 Fortran
 Java
 Pascal
 ALGOL
 C
 C#
 C++
 Ensambladores
 BASIC
 COBOL
 Python
 Ruby
Declarativa

Este es el paradigma se basa en describir el resultado final deseado, a partir de la

formulación del resultado se establece cual va a ser la vía de la solución, hay que tener en

cuenta que para que la programación declarativa sea eficiente se debe tener las

especificaciones del estado final y el proceso de ejecución adecuado.

Clasificación

Programación Lógica

Basada en los predicados que operan en el primer orden, hechos, predicados y

relaciones.

Programación Funcional

Basado en la programación en funciones, todo puede verse como una función y en

la ejecución del programa se tiene el llamado secuencial de funciones.

Ventajas

Dentro de las ventajas que tiene la programación declarativa se tiene

 Código corto y eficiente

 Se puede realizar sin conocer todos los métodos al estar programando

 Al ser un único algoritmo tiene una fácil optimización


 Se puede tener una actualización independiente a la aplicación

Desventajas

Dentro de las desventajas que tiene la programación declarativa se tiene

 Curva de aprendizaje alta

 Se basa en el estado de la solución, esto aumenta la complejidad de su

entendimiento

 Tiene una alta complejidad de implementación en la programación

Lenguajes más populares

 Prolog

 Lisp

 Haskell

 Miranda

 Erlang

 SQL (en un sentido amplio)


Imperativa vs Declarativa

La principal diferencia entre estos dos paradigmas se basa en que la programación

imperativa se basa en el como y la declarativa en el qué, esto quiere decir que en la

programación imperativa se da un paso a paso y en la programación declarativa se

describe el resultado que se quiere obtener.

La programación declarativa esta mas cerca a la iteracción natural, esto se debe a

que dentro de este paradigma se estable el que y no el como y cuando se ejecuta una

instrucción es el programa el que debe interpretar que se está solicitando y establecer si lo

puede realizar, en la programación imperativa se establece que es lo que se puede hacer y

la lista de pasos que se debe seguir para cumplir tal objetivo.


Lista de referencias

PDF Módulo 1: Conceptos Básicos del desarrollo de software basado en componente


David Sangilbert Custodio. Fecha de actualización: 30 de agosto de 2019
(actualización docentes unidad de Ingeniería de software y TIC)

Lista de referencias WEB

Programación imperativa: resumen del paradigma de programación más antiguo


https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/programacion-imperativa/
24 de Febrero de 2020

Programación declarativa: cuando el qué es más importante que el cómo


https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/programacion-declarativa/
24 de Febrero de 2020

Programación funcional: ideal para algoritmos


https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/programacion-funcional/
11 de Febrero de 2020

También podría gustarte