Los paradigmas de programación son modelos para resolver problemas comunes con nuestro código. Son caminos, guías, reglas, teorías y fundamentos que agilizan nuestro desarrollo y evitan que reinventemos la rueda.
¿Qué es un paradigma de programación?
Un paradigma de programación, por tanto, es un método para resolver un problema o realizar una tarea. Si bien existen diferentes lenguajes de programación se necesita de una estrategia cuando se implementa, es decir, un camino, y ese puede ser los paradigmas.
Los paradigmas más populares son:
- La programación estructurada
- La programación orientada a objetos
- La programación funcional
Pero en realidad existen cientos más. Afortunadamente, podemos estudiarlos más fácilmente clasificándolos en dos categorías: paradigmas imperativos y paradigmas declarativos. Estos paradigmas son fundamentales en el desarrollo de aplicaciones web online.
Programación imperativa
La programación imperativa consiste en explicar muy bien cómo funciona nuestro código. Las instrucciones de nuestro programa deben ser bastante explícitas. El “cómo” realizamos cada paso del algoritmo debe ser muy claro.
Algunos lenguajes de programación que utilizan este paradigma son:
- Fortran
- Java
- Python
- Ruby y más
Por ejemplo, si queremos crear imperativamente 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 iteración de un ciclo while.
list = []
count = 1while i < 10:
list.append(i)
i += 1
Dentro de la programación imperativa se desglosan otras:
Programación estructurada:
Está orientada a mejorar la claridad, calidad y tiempo de desarrollo.
Programación por procedimientos:
Agrupa el código en procedimientos, estos son un tipo de funciones o subrutinas a través de un sistema de pilas.
Programación orientada a objetos:
Basado en “objetos”, es decir contienen datos y código. Datos en forma de campos (atributos o propiedades); código en forma de procedimientos (métodos).
Programación declarativa
Contrario al paradigma imperativo, la programación declarativa, prioriza la claridad del resultado por encima que la claridad del paso a paso.
Siguiendo el ejemplo anterior, para crear una lista del 1 al 10, no definiríamos explícitamente el paso a paso de agregar un número a la lista en cada iteración de algún ciclo. Más bien, podemos utilizar una función range
que agregue la cantidad de números que necesitemos.
list(range(1, 10))
Algunos lenguajes que usan este paradigma son:
- Prolog
- LISP
- HASkell
- Regez
- SQL y más
Dentro de la programación declarativa encuentras:
Programación funcional:
Usa funciones como “ciudadanas de primera clase”. Puede crear funciones de orden superior. Prioriza el uso de recursividad y HOF para resolver problemas.
Programación lógica:
Expresa los objetivos como una colección de afirmaciones o reglas acerca de los resultados y restricciones en lógica matemática.
Ninguno de los dos bloques de código es mejor que el anterior. Simplemente llegan a la misma solución siguiendo diferentes paradigmas.
💡 Considera esta clasificación de paradigmas de programación cuando crees tu propio lenguaje de programación.
¿Cuál es el mejor paradigma de programación?
No existe el mejor paradigma de programación. Si quieres aprender algún paradigma de programación, pero no sabes cuál elegir de primeras, te recomiendo tomar estas recomendaciones:
Contexto histórico
Cada paradigma intenta solucionar los problemas o falencias que no resolvieron los paradigmas históricamente anteriores. Y estos paradigmas históricamente anteriores hicieron exactamente lo mismo, intentaron solucionar los errores e incomodidades de sus predecesores.
Esto no significa que los paradigmas nuevos son mejores que los viejos. Elige tu paradigma dependiendo del proyecto que vas a desarrollar. Analiza los problemas con los que más probablemente te vas a enfrentar y escoge el paradigma que mejor te ayude a combatirlos.
Lenguajes de programación
No todos los lenguajes te permiten programar con cualquier paradigma. Algunos lenguajes no soportan los paradigmas más nuevos. Pero también hay lenguajes modernos que soportan varios paradigmas simultáneamente.
Esto abre un mundo gigante de posibilidades para aprovechar lo mejor de cada mundo.
💡 Elige tu paradigma de programación dependiendo del proyecto que vas a desarrollar y el lenguaje de programación que piensas utilizar. Te sugiero leer:
Cursos para aprender paradigmas de programación
Si quieres conocer la historia de los lenguajes y paradigmas de programación, te recomiendo tomar el Curso de Historia de la Programación: Lenguajes y Paradigmas.
Además, si quieres aplicar los paradigmas más importantes en tu lenguaje de programación favorito, te recomiendo los siguientes cursos prácticos:
- Curso de Programación Estructurada
- Curso de Programación Orientada a Objetos: POO
- Curso Básico de Programación Orientada a Objetos en JavaScript
- Curso Intermedio de Programación Orientada a Objetos en JavaScript
- Curso de Programación Orientada a Objetos en PHP
- Curso de Programación Orientada a Objetos en Go
- Curso de Java SE Orientado a Objetos
- Curso de Programación Orientada a Objetos con C++
- Curso de Programación Funcional con Java SE
- Curso de Programación Funcional con Scala
Además, sí o sí, te recomiendo revisar nuestra nueva Escuela de JavaScript. Cursos nuevos para que nunca pares de aprender🚀
¿Programación para trabajar en una startup?
Las startups necesitan talentos digitales dispuestos a asumir grandes retos, por eso si quieres convertirte en uno de ellos necesitarás especializarte en un área específica como: programación, ingeniería de datos, marketing digital o en la que quieras acorde a tu perfil y objetivos. Por eso, en Platzi te preparamos para que alcances tu sueño de trabajar en una startup, trabajes desde cualquier parte del mundo y te conviertas en referente de la industria tecnológica.
Prepárate hoy en Programación o lo que quieras y comienza tu camino para convertirte en #StartupReady, el talento que las startups necesitan a través de nuestros cursos especializados en donde puedes aprender de manera efectiva y lo mejor, desde ceros.
¿Te interesa aprender sobre IA? Conoce como iniciar en inteligencia artificial desde cero
Curso de Historia de la Programación: Lenguajes y Paradigmas