21_05_2023
Cuando programamos resolvemos problemas, los paradigmas vienen a ser las diferentes formas de estructurar la solución de un problema. Hay muchísimas de estas formas y cada una tiene sus cualidades, conceptos, beneficios y enfoques, pero aun así todas pueden dividirse en dos grandes grupos: Imperativos y declarativos, a su vez dentro de estos grupos hay tres formas fundamentales: La estructurada, la funcional y la orientada a objetos.
En la forma imperativa resolvemos problemas escribiendo muy especificamente como se tiene que resolver, los pasos que hay que seguir y el orden en que se hacen.
Un ejemplo:
- Hola, quiero un té y lo vas a hacer así: Primero vas a calentar agua, cuando el agua esté caliente vas a buscar una taza y un saquito de té negro, luego vas a poner el saquito dentro de la taza y verter el agua dentro, vas a esperar cinco minutos, vas a sacar el saquito de la taza, vas a agregar tres cucharadas de azúcar al té y por último me lo vas a dar.
Te estoy diciendo muy específicamente paso a paso como quiero que haga un té.
Volviendo a la programación, al usar está forma lo hacemos a través de estructuras de control de flujo como ciclos o condiciones, y manipulando estados como variables o arreglos, siendo un ejemplo de esto la programación estructurada.
En esta forma resolvemos problemas escribiendo específicamente que es lo que queremos y cuál es el problema sin preocuparnos en como se resuelve.
Un ejemplo:
Hola, Quiero lo siguiente: Un te negro, caliente y con tres cucharadas de azúcar.
Te estoy diciendo específicamente que es lo que quiero, pero no como tienes que hacerlo y eso realmente no me importa siempre y cuando me entregues lo que quiero.
Volviendo a la programación, al usar está forma lo hacemos a través de palabras clave o funciones que nos permitan describir el problema, siendo un ejemplo de esto el paradigma funcional. Si ya sabes programar o matemáticas en un nivel intermedio es posible que entiendas fácilmente como usar y funcionan los lenguajes tienen esta forma de programar.
Hoy día muchos lenguajes son multiparadigma sacando un poco de cada lado, por ejemplo, permitiéndonos tener funciones que se usan de forma declarativa, pero que por dentro son imperativas e incluso usan elementos declarativos como llamadas a otras funciones, viniendo de esto mismo podemos encontrarnos con la programación orientada a objetos (POO) donde usamos clases de forma declarativa, pero que por dentro son en parte imperativas ¿cómo las funciones? Sí, como las funciones.
/// El libro "Arquitectura limpia" de Robert C.Martin https://www.crehana.com/blog/transformacion-digital/programacion-imperativa/ https://open-bootcamp.com/aprender-programar/paradigma-imperativo https://learn.microsoft.com/es-es/dotnet/standard/linq/functional-vs-imperative-programming https://styde.net/programacion-declarativa-vs-imperativa/ ///