Paradigmas de la programación




   Un paradigma de programación es un estilo de desarrollo de programas, es decir, un modelo para resolver problemas computacionales. Los lenguajes de programación se encuadran en uno o varios paradigmas a la vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con su sintaxis. Los principales paradigmas de programación se detallan a continuación:

  • Imperativo. Un lenguaje imperativo programa mediante una serie de comandos agrupados en bloques y compuestos de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. Estos fueron los primeros lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan este principio. Pero los lenguajes imperativos estructurados no son flexibles debido a la secuencialidad de las instrucciones.
  • Declarativo. El paradigma declarativo o paradigma de programación lógica se basa en el hecho que un programa implementa una relación antes que una correspondencia. Debido a que las relaciones son más generales que las correspondencias (identificador - dirección de memoria), la programación lógica es potencialmente de más alto nivel que la programación funcional o la imperativa. El lenguaje declarativo más popular es el lenguaje PROLOG. El auge del paradigma declarativo se debe a que el área de la lógica formal de las matemáticas ofrece un sencillo algoritmo de resolución de problemas adecuado para usarse en un sistema de programación declarativo de propósito general.
  • Lógico. El problema se modela con enunciados de lógica de primer orden. 
  • Funcional. La programación funcional se caracteriza por el uso de expresiones y funciones. Los programas se componen de implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida. Cuando una función se invoca a sí misma, hablamos de recursividad. Un programa dentro del paradigma funcional, es una función o un grupo de funciones compuestas por funciones más simples estableciéndose que una función puede llamar a otra, o el resultado de una función puede ser usado como argumento de otra función.
  • Orientado a objetos. El paradigma orientado a objetos, se basa en los conceptos de objetos y clases de objetos. Un objeto es una variable equipada con un conjunto de operaciones que le pertenecen o están definidas para ellos. Una de las ventajas de los lenguajes orientados a objetos es que las definiciones de los objetos pueden usarse una y otra vez para construir múltiples objetos con las mismas propiedades o modificarse para construir nuevos objetos con propiedades similares pero no exactamente iguales.
  • Dirigido por eventos. El flujo del programa está determinado por sucesos externos (por ejemplo, una acción del usuario).
  • Orientado a aspectos. Apunta a dividir el programa en módulos independientes, cada uno con un comportamiento bien definido.
   Cada paradigma es ideal para la resolución de un conjunto de problemas particular, por lo que no puede decirse que uno sea necesariamente mejor que otro.