Paradigmas de Programación

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Paradigmas de Programación por Mind Map: Paradigmas de Programación

1. Programación Secuencial

2. Programación Orientada a Objetos

2.1. Definición

2.1.1. Diseño de Software partiendo de "Clases y Objetos"

2.2. Ventajas y Desventajas

2.2.1. Ventajas

2.2.1.1. Permite crear sistemas complejos

2.2.1.2. Permite la reutilización de código

2.2.2. Desventajas

2.2.2.1. No existe una única solución a los problemas computacionales

2.2.2.2. Se requiere de documentación compleja para entenderla

2.3. Lenguajes de programación

2.3.1. JavaScript

2.3.2. C++

2.3.3. Python

3. Programación Concurrente

3.1. Definición

3.1.1. Es la ejecución simultánea de múltiples tareas interactivamente

3.2. Aplicaciones

3.2.1. Servidores Web distribuidos

3.2.2. Sistemas de bases de datos

3.2.3. Arquitecturas Cliente - Servidor

3.3. Lenguajes de programación

3.3.1. Haskell

3.3.2. Ada

3.3.3. Rust

3.3.4. Erlang

3.4. Ventajas y Desventajas

3.4.1. Ventajas

3.4.1.1. Rapidez en las tareas de ejecución

3.4.1.2. Rápida velocidad de respuesta

3.4.1.3. De fácil desarrollo

3.4.2. Desventajas

3.4.2.1. Se puede producir un interbloqueo

3.4.2.2. Limitaciones de recursos afectan el rendimiento

4. Aplicaciones

4.1. Permite estructurar el código de en forma de módulos que permiten la reutilización

5. Subtipos

5.1. Estructural

5.1.1. Acciones secuenciales

5.2. Modular

5.2.1. Se divide el programa en subprogramas

5.3. Procedimental

5.3.1. Secuencial y usando funciones

6. Aplicaciones

6.1. Procesamiento de datos

6.2. Procesamiento de números

6.3. Programa de único procesamiento

7. Definicion

7.1. Acciones que siguen en secuencia

8. Lenguajes de programacion

8.1. Java

8.2. C++

8.3. Python

8.4. C

9. Programación Paralela

9.1. Definición

9.1.1. Resolución de problemas pequeños de manera simultanea

9.2. Aplicaciones

9.2.1. Simulación de problemas científicos

9.2.2. Gráficas generadas por computadora

9.3. Lenguajes de programación

9.3.1. Julia

9.3.2. HPF

9.3.3. Linda

9.4. Ventajas y Desventajas

9.4.1. Ventajas

9.4.1.1. Ejecución de programas según orden y complejidad

9.4.1.2. Obtención de resultados en un menor tiempo

9.4.1.3. División de tarea en partes independientes

9.4.2. Desventajas

9.4.2.1. Tardanzas por comunicación entre tareas

9.4.2.2. Si los datos no se sincronizan se pueden corromper

9.4.2.3. Condiciones de carrera

9.5. Subtipos

9.5.1. A nivel de bit

9.5.2. A nivel de instrucción

9.5.3. De tareas

9.5.4. De datos

10. Ventajas & Desventajas

10.1. Ventajas

10.1.1. Legibilidad

10.1.2. Concisión

10.1.3. Reutilización

10.1.4. Idempotencia

10.2. Desventajas

10.2.1. Difícil comprensión

10.2.2. Estructura compleja

11. Ventajas y Desventajas

11.1. Ventajas

11.1.1. Reduccion de costos

11.1.2. Sencilles y Rapidez

11.1.3. Facilidad de depuracion

11.2. Desventajas

11.2.1. Mayor cantidad de código

11.2.2. Complejidad de adaptación

12. Definición

12.1. Trabajo con flujo de datos asíncronos

12.1.1. Finitos

12.1.2. Infinitos

13. Aplicaciones

13.1. Bases de datos

13.2. Plantillas

13.3. Gestión de Configuración

14. Lenguajes de Programación

14.1. Prolog

14.2. Lisp

14.3. Haskell

14.4. Miranda

14.5. SQL

15. Programación Declarativa

16. Subtipos

16.1. Programación Lógica

16.1.1. Basado en la lógica Matemática

16.2. Programación Funcional

16.2.1. Basado en el uso de funciones matemáticas

17. Programación Reactiva

17.1. Aplicaciones

17.1.1. Desarrollo Web

17.1.1.1. Superar limitaciones del lenguaje

17.1.2. Aplicaciones de escritorio

17.1.2.1. Mejorar Rendimiento

17.2. Lenguajes de programacion

17.2.1. Java

17.2.1.1. RxJava 2

17.2.1.2. Project Reactor

17.2.1.3. NgRx

17.3. Ventajas y Desventajas

17.3.1. Ventajas

17.3.1.1. Es responsiva

17.3.1.2. Basada en usabilidad

17.3.1.3. Facilidad para encontrar fallos en el programa

17.3.1.4. Puede funcionar de forma asincrónica

17.3.2. Desventajas

17.3.2.1. Mayor utilización de recursos

17.3.2.2. Curva de aprendizaje

17.3.2.3. Acumulación de delay

17.3.2.4. Difícil depuración

18. Definición

18.1. Se enfoca en el resultado final

18.2. No tiene en cuenta los pasos de trabajo