Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

¿Cuáles son los principales paradigmas de programación?

5/21
Recursos

Existe una gran cantidad de paradigmas. Sin embargo, todos derivan de 3 paradigmas principales: imperativo, declarativo y dirigido por eventos (este último se verá en una próxima clase).

Programación imperativa

Se trata de expresar cómo debe solucionarse un problema paso a paso. Es el paradigma más utilizado. Se encuentra en lenguajes como Fortran, Java, C, Python, Ruby, etc. De él se derivan paradigmas como la programación orientada a objetos o procedimental.
Programación imperativa en C

Programación declarativa

La programación declarativa consiste en expresar qué problema debe solucionarse, sin especificar cómo hacerlo. Se enfoca en el resultado, y en reducir o evitar los efectos colaterales. Algunos lenguajes en este paradigma son LISP, Haskell, Prolog, SQL, Elixir, XPath, etc. De la programación reactiva se derivan paradigmas como el funcional, el lógico, reactivo o matemático.
Programación en Haskell declarativa

Contribución creada por: Ciro Villafraz.

Aportes 43

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Woh, no sabía cómo funcionaba Haskell jaja, algo curioso y MindBlow es que CSS es un lenguaje declarativo también porque se enfoca en el resultado, de hecho CSS es un lenguaje de query’s porque usas selectores.
.
Y si hablamos de query’s y lenguajes declarativos, también está SQL, ya que se enfoca en qué es lo que quieres obtener, no en cómo lo vas a obtener 😄

Grande Dross dando las mejores explicaciones de programacion 😎👍

un buen ejemplo de Programación Declarativa e Imperativa :

¿Cuáles son los principales paradigmas de programación?

Existen mas de 100 paradigmas distintos

Principales paradigmas

  • Imperativo
    • Por procedimientos
    • Orientado a objetos
  • Declarativo
    • Funcional
    • Lógico
    • Matemático
    • Reactivo
  • Dirigido por eventos

Programación imperativa

  • Ordenes directas de qué hacer
  • Enfocado al “Cómo”
  • Instrucciones paso a paso
  • Fortran, Java, C, Python, Ruby, PHP, etc.
    Ejemplos
int total = 0;
for(int i = 0; i < 0; i++){
    total++;
    printf("%i\", total)
}

Resultado

> 1 
> 2 
> 3 
> 4 
> 5
> 6  
> 7  
> 8  
> 9  

Programación declarativa

  • Se enfoca en el resultado
  • Reduce o elimina efectos colaterales
  • Prolog, LISP, Haskell, SQL, Elixir, XPath, Regex, etc.
    Ejemplos
-- Haskell
sum[1..10]

Resultado

> 55
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9...  


Solo una pequeña aclaración, el programa debe tener primero la salida (printf…) y luego la acumulación (total++), (respetando las instrucciones del ciclo for) para tener una salida de 0 - 9, de lo contrario tendremos salida de 1 - 10😢.

¿Qué son los paradigmas de programación?
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 reactiva
Este paradigma se basa en escuchar lo que emite un evento o cambios en el flujo de datos, en donde los objetos reaccionan a los valores que reciben de dicho cambio. Las librerías más conocidas son Project Reactor, y RxJava. React/Angular usan RxJs para hacer uso de la programación reactiva.

Programación dirigida por eventos
mientras en la programación secuencial (o estructurada) es el programador el que define cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario —o lo que sea que esté accionando el programa— el que dirija el flujo del programa. Fuente: Programación dirigida por eventos

🤔 Tenemos paradigmas de programación: Imperativo, declarativo y dirigido por eventos.

Principales paradigmas:
Imperativo: .-Procedimientos .- Orientado a objetos
Órdenes directas de qué hacer, enfocado al cómo, instrucciones paso a paso. EJ: Fortrean, Python, Java.

Declarativo: .-Funcional .-Logico .- Matematico .-Reactivo
Se enfoca en resultados, reduce o elimina efectos colaterales, EJ: PROLOG,LISP HASKELL

No tenía clara la diferencia entre Imperativo y Declarativo.

Esta clase explica muchas cosas. 😮

PRINCIPALES PARADIGMAS DE PROGRAMACIÓN

imperativo:
por procedimientos: se enfoca en el como
orientado directamente en el “que hacer”
instruye del paso a paso.
orientado a objetos
Lenguajes: Fortran, Java, C, Python, Ruby, PHP, etc. orientado a objetos

declarativo: funcional, lógico, matemático, relativo
enfocado en el resultados
reduce o elimina efectos colaterales
lenguajes: Prolog, LISP, Haskell, SQL, Elixir, Xpath, Regex

Creí que declarativa era declarar variables jaja gracias entendiendo mejor.

La programación imperativa es el paradigma más popular y utilizado en todo el 🌎.

Solo he utilizado paradigmas imperativos, es la primera vez que veo el paradigma declarativo

\## Programación imperativa Consiste en explicar muy bien como funciona nuestro código. Las instrucciones de nuestro programa deben ser explicitas. El "como" realizamos cada paso del algoritmo debe ser muy claro. \*\*Ejemplo\*\* Para crear una lista de números del 1 al 10, podemos crear una lista vacía, una variable contadora y agregar un elemento a la lista en cada iteracion de un ciclo while: ```python list = \[] count = while i < 20 list.append(i) i +=1 ``` Dentro de esta categoría se encuentran la programación estructurada, la programación por procedimientos y la programación orientada a objetos \## Programación declarativa Contrario al paradigma imperativo, prioriza la claridad del resultado por encima de la claridad del paso a paso. \*\*Ejemplo\*\* Para hacer la lista del 1 al 10, no definiríamos explicitamente el paso a paso de agregar un numero, mas bien podemos utilizar una función `range` que agregue la cantidad de números que necesitemos: ```python list(range()1,10) ``` Dentro de esta categoría tenemos la programación funcional, la programación lógica, etc. Fuente: <https://platzi.com/blog/paradigmas-programacion/>

PARADIGMA IMPERATIVO: Ordenes paso a paso, estructuradas en secuencia. Ej. Java, Python PARADIGMA DECLARATIVO: Se enfoca en el resultado eliminando efecto colaterales. Ej. Haskell

LA FORMA EN QUE CLASIFICAMOS UN LENGUAJE POR SUS CARACTERISTICAS, mas de 100 paradigmas, programacion imperativa poo, programacion declarativa enfocada en el resultado

Es interesante aprender la diferencia de estas 2
tipos de paradigmas de programacion. Nunca pense que la Programacion imperativa se encarga de especificar un metodo paso a paso en un lenguaje de programacion mientras que la declarativa se usa para expresar soluciones sin especificar procedimientos.

Wowww, de verdad no sabia esto, super interesante

Paradigma imperativo
Indicnado el paso a paso de las tareas a realizar.
Tiene diseño modular. Modularidad se basa en el lema divide y venceras. Signfica separar un problema muy grande y complejo en problemas más sencillos.
En sitaxist toda función debe devolver algún valor.

Programación imperativa
Se trata de expresar cómo debe solucionarse un problema paso a paso. Es el paradigma más utilizado. Se encuentra en lenguajes como Fortran, Java, C, Python, Ruby, etc. De él se derivan paradigmas como la programación orientada a objetos o procedimental.

.

Bajo este enfoque se tienen cuatro paradigmas los cuales son:

  • paradigma por procedimientos o paradigma imperativo.
  • paradigma declarativo.
  • paradigma funcional.
  • paradigma orientado a objetos.

los paradigmas de programación son Imperativo, declarativo y dirigido por eventos.

Los paradigmas imperativos se basan en órdenes directas paso a paso, centradas en cómo se va a hacer algo, son instrucciones. Ej: Fortran, Java, C, Python, etc.

Por otro lado, los paradigmas declarativos se enfocan en el resultado más allá del cómo, con la finalidad de reducir los efectos secundarios. Ej: Haskell, XPath, etc.

Mas de 100 paradigmas? enserio!. Waoo! blow my mind.

La programación imperativa (del latín imperare = ordenar) es el paradigma de programación más antiguo. De acuerdo con este paradigma, un programa consiste en una secuencia claramente definida de instrucciones para un ordenador.

El código fuente de los lenguajes imperativos encadena instrucciones una detrás de otra que determinan lo que debe hacer el ordenador en cada momento para alcanzar un resultado deseado. Los valores utilizados en las variables se modifican durante la ejecución del programa. Para gestionar las instrucciones, se integran estructuras de control como bucles o estructuras anidadas en el código.

Los lenguajes de programación imperativa más conocidos son:

Fortran
Java
Pascal
ALGOL
C
C#
C++
Ensambladores
BASIC
COBOL
Python
Ruby
Los distintos lenguajes de programación imperativa pueden clasificarse a su vez en tres estilos distintos de programación subordinados: el estructurado, el procedimental y el modular.

El estilo estructurado de programación amplía el principio imperativo central con las estructuras concretas de control: secuencias, selección e iteración. Esto se hace para mitigar o evitar por completo las instrucciones de salto que añaden una complejidad innecesaria al código imperativo.

El enfoque procedimental divide las tareas de las que se debe ocupar un programa en tareas parciales más pequeñas que se describen en el código por separado. De esta forma, se crean principios básicos de programación que también se pueden reutilizar en otros programas.

Un paso más allá, en el modelo de programación modular, cada uno de los componentes de programa se diseñan, desarrollan y prueban con total independencia los unos de los otros. No es hasta el final del proceso cuando los módulos se combinan para conformar el software real.

Un paradigma es una forma de resolver algo, yo lo resumiría más aún así 😃

Este video muestra los paradigmas más importantes y usados en el mercado

Con esto quedo muy bien explicado lo de paradigmas

El ejemplo esta mal, es un ciclo for que se repite 10 veces, se incrementa y luego imprime el valor de la variable [total] que la primera vez ya es valdría 1, y la salida comienza desde 0, jeje ya lo se no es importante 😉

Bajo este enfoque se tienen cuatro paradigmas los cuales son:
paradigma por procedimientos o paradigma imperativo.
paradigma declarativo.
paradigma funcional.
paradigma orientado a objetos.

La verdad es que es un tema muy interesante. Habiendo tanteado con algunos lenguajes de programación siempre surge la pregunta de por qué se han pensado de una manera y no de otra. En este curso está la respuesta. Esto lleva a un programador un paso más allá y plantearse, antes de comenzar a trabajar, que lenguaje utilizará y por qué.

La arquitectura basada en eventos, hace uso del paradigma Reactivo, por lo tanto, bien la podemos categorizar como de tipo declarativa. Más no, como un paradigma más de la programación.

Principales paradigmas

  • Hoy en día existen más de 100 paradigmas
  • Principales: Imperativo, declarativo y dirigido por eventos
  • Dichos paradigmas pueden tener otros paradigmas derivados de los mismos

.

Imperativo

  • Órdenes directas de qué hacer
  • Enfocado al cómo
  • Instrucciones paso a paso
  • Java, C, Python, Ruby, etc.

.

Declarativo

  • Se enfoca en el resultado
  • Reduce o elimina efectos colaterales
  • LISP, Haskell, SQL, Elixir, etc.