Una pequeña aproximación a los paradigmas de la programación

En el mundo de la informática podemos encontrar lenguajes de programación para todos los gustos. Claro que no depende de nuestro gusto la elección de un lenguaje u otro, sino del contexto en el que se vaya a utilizar. No es lo mismo implementar un sistema de reconocimiento facial que desarrollar un API RESTful… Pero no sólo hay diferentes lenguajes de programación que elegiremos dependiendo del caso concreto, sino también diferentes paradigmas de la programación. En este post analizamos brevemente en qué consiste cada uno de estos paradigmas.

Lenguajes de programación

¿Qué es un paradigma de la programación?

Según Wikipedia, se trata de “una propuesta tecnológica adoptada por una comunidad de programadores y desarrolladores cuyo núcleo central es incuestionable en cuanto que únicamente trata de resolver uno o varios problemas claramente delimitados”. Hablando en plata, podríamos definir un paradigma de la programación como la manera en la que se deben realizar las tareas de cómputo para la consecución de los objetivos. Se podría incluso ver como un estilo de programación, aunque la definición anterior sería más exacta. Aunque hay muchos tipos de paradigmas, en los subapartados siguientes vamos a ver aquellos que son más relevantes hoy en día.

Paradigma imperativo

Este paradigma es el que habitualmente más se utiliza. Se basa en la ejecución secuencial de órdenes que se interpretan por un compilador y se resuelven en orden, cambiando de esta forma el estado del programa. Lenguajes que utilizan este tipo de paradigma son el lenguaje de programación C, Java o Python.

Paradigma declarativo

Mientras que en el paradigma imperativo se especifican las instrucciones que se deben ir ejecutando para conseguir llegar a la solución, en el paradigma declarativo se utilizan instrucciones que describen la solución del problema. Son mecanismos internos los que tratan de resolver el problema gracias a las sentencias que el usuario ha introducido. Hay algunos lenguajes que utilizan este modelo de programación. Los más conocidos son Haskell, LISP y Prolog.

Paradigma funcional

Este tipo de programación se encuentra dentro del paradigma declarativo y se basa principalmente en el uso de funciones matemáticas. La parte positiva de la programación funcional es que no podemos llegar a un estado inconsistente del programa. Mientras en los paradigmas explicados anteriormente, una función puede cambiar el estado general del programa, en el paradigma funcional el resultado de una función se genera exclusivamente a partir de los argumentos que se le proporcionan a la misma. Además, este paradigma de programación no es exclusivo de un grupo de lenguajes, sino que se puede incorporar también en el resto de paradigmas. Un ejemplo de esto lo encontramos en los lenguajes Python y JavaScript, que a pesar de ser lenguajes imperativos tienen la capacidad de ejecutar código propio de la programación funcional.

Paradigma orientado a objetos

La programación orientada a objetos se popularizó a principios de los 90. En este paradigma, los programas intentan acercarse más a la realidad encapsulando conceptos. De esta forma cada “ente” con el que se trata en el programa consiste en un objeto con sus propios atributos y funciones. Así, el programa funciona interactuando con objetos que llegan a sus propios estados. Los lenguajes que destacan por pertenecer a este tipo de paradigma son JAVA, C++ o Ruby, aunque igual que en otros paradigmas, muchos lenguajes han evolucionado para poder utilizar también el tipo de características que este paradigma proporciona.

Librosde programación
Libros de programación. Fuente: Pixabay.

En este post hemos tratado de manera muy superficial algunos de los paradigmas de la programación más relevantes hoy en día. Pero esto no quiere decir que sean los únicos que existen. La forma de hacer las cosas cambia cada día más rápido en la informática y, como hemos visto, también muchos lenguajes de programación se adaptan a nuevas formas de hacer las cosas.