Paradigmas de Programación

En esta nota abordaremos distintos  paradigmas de programación, con la finalidad de explicar de forma general su comportamiento y qué tipos de problemas podemos resolver con cada uno.

¿Qué son los paradigmas de programación?

Podemos definir como paradigma de programación al modelo que seguimos para programar. Los paradigmas de programación más utilizados son:

Paradigma de programación Imperativo

Los programas que podemos clasificar como imperativos, son todos aquellos que contienen un grupo de datos acompañados de una serie de instrucciones, con los cuales se le indica a la computadora cómo realizar una tarea específica.  Con estos elementos se logra formar una abstracción de los datos y del código en la memoria principal.  Este modelo ha tenido gran éxito entre los programadores por su sencillez y cercanía a la arquitectura de las computadoras convencionales.

C es un claro ejemplo de lenguaje de programación imperativo, ya que forma una abstracción de la máquina de Von-Neumann, que se caracteriza por: la memoria principal y la unidad central de proceso.

Paradigma de programación Funcional

Los programas funcionales son aquellos que tienen como objetivo principal el uso de funciones matemáticas puras. El modelo funcional es muy parecido a una calculadora, el usuario introduce una expresión inicial y es evaluada por el lenguaje. En este modelo el programador utiliza definiciones de funciones para obtener un valor irreductible. El modelo funcional se caracteriza por utilizar funciones de orden superior, sistemas de inferencia de tipos, polimorfismo, listas por comprehensión y evaluación perezosa.

Haskell es un lenguaje de programación funcional, en este lenguaje podemos encontrar las características más significativas del paradigma funcional.

Paradigma de programación Lógica

Los programas que podemos clasificar como lógicos, son aquellos que están basados en premisas (hechos) y que a partir de esas reglas (supuestos verdaderos), el programa nos retorna un valor verdadero. Con este paradigma de programación, es muy sencillo modelar un programa, basado en lógica matemática. Además se puede escribir código más legible y eficiente, lo que hace más sencilla la tarea de dar mantenimiento al programa.

Prolog es un lenguaje de programación lógica, este lenguaje se basa en un conjunto de hechos y de reglas. Su forma de trabajo, consiste en realizar una pregunta, para obtener por inferencia los resultados, los cuales deduce a partir de la relación entre las premisas y las reglas.

Paradigma de programación Orientada a Objetos

La programación orientada a objetos, como su nombre lo indica, es toda aquella que se basa en la construcción de objetos y sus métodos, para que puedan interactuar entre ellos. Este tipo de programación se basa principalmente en el diseño del sistema y utiliza varias técnicas; entre las más utilizadas podemos encontrar: herencia, polimorfismo y encapsulamiento.

Java  es un lenguaje de programación orientada a objetos, en este lenguaje podemos encontrar muchas de las características que conforman a la programación orientada a objetos.

Fibonacci resuelto en los distintos paradigmas de programación

Supongamos que necesitamos un algoritmo que devuelva un número de Fibonacci dada su posición en la sucesión.  A continuación se presentan algunas implementaciones en cada uno de los lenguajes mencionados.

Fibonacci en C

 

Fibonacci en Haskell

 

Fibonacci en Prolog

 

Fibonacci en Java

 

About Miriam del Carmen García Martínez

Parte de mis intereses están centrados en el mundo de la computación, algunos de ellos son: inteligencia artificial, optimización, bases de datos y arquitectura de software. Pretendo abordar diversos temas en mis publicaciones, espero que por lo menos alguna sea de su agrado.