Todos los paradigmas programación explicados en 6 minutos

La programación es el arte de dar vida con datos e instrucciones a una computadora, en otras palabras, es indicarle lo que tiene que hacer, con el objetivo de resolver problemas de casi cualquier tipo. Pero de lo que tratará este video es sobre las diferentes maneras o caminos de resolver esos problemas basándonos en código. Esos son los paradigmas de la programación.

Puedes ver el video de éste artículo en nuestro canal de YouTube siguiendo el anterior enlace.



Un paradigma es una forma de llevar algo a cabo. Es un patrón o ejemplo que debes seguir en determinada situación, es decir, es una forma en la que tú puedes estipular como llegar a algo en particular. Un paradigma no se discute y es definitivamente lo que es, un patrón.


En la programación un paradigma es un estilo preestablecido, una forma o un conjunto de ideas que nos presenta un modelo para la construcción de un programa. ¿Y qué cosas define este modelo? Simplemente nos define esas herramientas conceptuales que podemos utilizar para construir dicho programa de la forma más conveniente.


Entonces, antes de saber cuántos paradigmas hay y en qué consisten cada uno es importante que sepamos sobre los dos grupos de paradigmas, o dos tipos básicos de programación: los imperativos y los declarativos.


Imperativos:

Los imperativos consisten en una secuencia definida de instrucciones, es decir, encadenan instrucciones una detrás de otra las cuales determinan lo que la computadora debe hacer en cada momento para llegar a la solución del problema. Paso a paso.
Por ejemplo, tenemos este pequeño programa en el que le pedimos al usuario introducir dos números con el objetivo de saber si la suma de estos dos números es mayor que cero o no, entonces ese es nuestro problema, determinar ese valor. Usando programación imperativa, PARTIMOS del punto de comenzar a pedirle al usuario que introduzca el primer número, exactamente DESPUES de esto capturamos ese valor ingresado aquí en esta variable llamada “a”, para POSTERIORMENTE pedirle el segundo número, y hacer la misma captura solo que ahora en una variable llamada “b”. AHORA, justo aquí, dentro de este condicional le decimos a la computadora que sume el valor de A y B y que si dicho resultado es mayor que cero entonces que nos muestre un letrero en pantalla que nos confirme dicho valor. PERO si esto no se cumple la computadora sabrá que debe pasar a mostrar el otro letrero de que esta operación no es mayor que cero. Este ejemplo es también un ejemplo de lo que es la programación estructurada, ya que contiene instrucciones y condicionales para solucionar problemas.


Declarativos:

Ahora, los declarativos se basan más en las matemáticas y en la lógica que los lenguajes imperativos, realmente son más cercanos al razonamiento humano. Es decir, a los declarativos no le decimos cómo hacer una cosa, sino, más bien, qué cosa queremos que haga. Este grupo de paradigma hace lo que nosotros esperamos que realice sin que sepamos ampliamente como lo hizo.

Por ejemplo, tenemos un pequeño programa en el que queremos que un numero se sume a si mismo incrementándose 10 veces, entonces ese es nuestro problema, encontrar ese valor final. Usando programación declarativa podemos hacer esto suma = Sum(1, 10) es decir, tenemos una variable llamada suma la cual va a contener el valor que estamos solicitándole mediante una función, en la que le enviamos el numero que queremos que se sume a si mismo y a su vez el numero de veces de la incrementación. ¿Notaste la diferencia? Aquí no sabemos cómo se llevó a cabo internamente este proceso, a comparación de la imperativa en la que línea a línea sabemos que se realiza paso a paso. Este ejemplo es también un ejemplo de lo que es la programación funcional, ya que se basa en funciones para solucionar problemas. Si te da curiosidad saber cómo sería este mismo problema, pero en el tipo imperativo, sería algo más o menos así: 

int suma = 0;
for (int i = 1 to 10)
    suma += i;
return suma;



Programación Orientada a Objetos (POO):

Este paradigma utiliza objetos en sus interacciones, el cual se basa en varias técnicas, como herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento, no se asusten por eso, son solamente técnicas. Estos objetos contienen características y funciones que dan vida a su funcionamiento, permitiendo una conexión o interacción entre varios objetos si es el caso. Entonces fíjate en este código; tenemos una clase llamada figuras, y si la tratamos como un objeto sabremos que las figuras son muchas como el circulo, cuadrado, rectángulo, etc. Por lo que si te fijas bien es aquí donde declaramos funciones y cada función será la identidad de cada forma en particular. Una de las funciones de esta clase es el cuadrado, y sabemos que un cuadrado contiene lados y un área, por lo que si queremos saber el área de un cuadrado solo es cuestión de introducir los valores de sus lados. Así mismo ocurre con cada una de las figuras, le estamos dando vida o sentido a nuestra clase figuras que podrá ser tratada como un objeto. Así mismo podemos usar la POO para cualquier problema que lo amerite, como verificar si está encendido o no las luces de un auto u ordenador.


Programación Funcional:

la FP trabaja principalmente con funciones y evita los datos mutables, así como el hecho de compartir estados entre funciones. Aquí cada función realiza una sola cosa, por lo que todo se realiza con funciones. Los datos se pasan entre funciones para evaluar, enviar o controlar. Por ende, con este paradigma las funciones serán tratadas como base fundamental en las que podrán ser asignadas a variables, además podrán ser utilizadas como entrada y salida de otras funciones. Este paradigma, al ser declarativo se enfoca en el "qué" estamos haciendo y no en "cómo" se está haciendo que sería el enfoque imperativo.   


Programación reactiva: 

Este es un paradigma que se usa para operar y manejar streams (flujo de datos) de datos asíncronos. Con datos asíncronos me refiero a que no sabemos cuándo se producirán o cuándo llegarán a nuestro sistema. Entonces esta puede ser la definición más simple sobre lo que es programación reactiva. La programación reactiva se basa en la observación del flujo de datos que siempre están transitando, como un chat de múltiples personas o la disposición de calidad automática cuando vemos un video en YouTube o una película en Netflix, en esto consiste, simplemente en reaccionar a los cambios en tiempo real.

Puedes ver el video de éste artículo en nuestro canal de YouTube siguiendo el anterior enlace.

Comentarios

أحدث أقدم