Please enable JavaScript.
Coggle requires JavaScript to display documents.
4.1 Modelo de programación - Coggle Diagram
4.1 Modelo de programación
Hace referencia a la forma en que se estructuran y organizan las instrucciones y operaciones en un lenguaje de programación para resolver problemas computacionales.
Programación Imperativa
Descripción: Es el modelo más clásico y se basa en instrucciones secuenciales que cambian el estado del programa. Los lenguajes que siguen este modelo incluyen C, C++, Java, entre otros.
Características: Uso de variables, control de flujo mediante bucles y condicionales, operaciones directas sobre la memoria.
Ejemplo: La programación estructurada es un submodelo dentro de la programación imperativa.
Programación Declarativa
Descripción: Este modelo se centra más en el "qué" se desea lograr en lugar del "cómo" hacerlo. El programador especifica las propiedades y relaciones que se deben cumplir, pero no detalla los pasos para alcanzar el resultado.
Características: No hay cambios de estado explícitos y las funciones son expresiones matemáticas.
Ejemplo: Los lenguajes como SQL (para bases de datos) y Prolog (lógica) siguen este paradigma.
Programación Funcional
Descripción: Es un submodelo de la programación declarativa. Las soluciones se expresan como funciones matemáticas puras, sin efectos colaterales. Es decir, las funciones siempre producen el mismo resultado para los mismos parámetros de entrada.
Características: Inmutabilidad, funciones como ciudadanos de primera clase (pueden pasarse como argumentos o devolverse), y recursividad en lugar de bucles.
Ejemplo: Lenguajes como Haskell, Lisp y Python pueden seguir este paradigma.
Programación Orientada a Objetos (POO)
Descripción: Este modelo organiza el software en "objetos", que combinan datos y comportamientos. Los objetos son instancias de "clases", que definen sus propiedades (atributos) y sus capacidades (métodos).
Características: Encapsulamiento, herencia, polimorfismo y abstracción.
Ejemplo: Lenguajes como Java, C++, Python y Ruby son ejemplos que permiten la POO.
Programación Concurrente
Descripción: En este modelo, varias tareas se ejecutan simultáneamente o de manera intercalada para aprovechar la multitarea y el paralelismo.
Características: Uso de hilos o procesos múltiples que comparten recursos o se comunican entre sí.
Ejemplo: La programación concurrente es importante en sistemas multitarea y lenguajes como Go o Java con hilos (threads).
Programación Lógica
Descripción: Es un submodelo de la programación declarativa. Las soluciones se describen mediante un conjunto de reglas lógicas y hechos. El sistema se encarga de realizar la búsqueda de la solución que cumpla con las reglas.
Características: Uso intensivo de lógica formal, donde el programa consiste en un conjunto de axiomas y reglas lógicas.
Ejemplo: Prolog es el lenguaje más famoso que utiliza este paradigma.