martes, 20 de enero de 2015

Ingeniería de Software: Paradigmas.

"El software, no se improvisa, se moldea y se adapta."

Mas de uno reconoce "haber oído... escuchado.." los términos "paradigma de programación" pero poca gente sabe realmente que es. Un paradigma, palabra derivada del Griego, es sinónimo de mostrar o manifestar. Un paradigma, es una metodología que empleamos para realizar alguna acción. Cada paradigma, consta de su estructura, su modelo de aprendizaje y practica y cada paradigma tiene un grupo de finalidades abstractas, pero relacionadas entre si.



Para algunas personas, puede resultar algo sorprendente la existencia de diferentes paradigmas de programación. La mayor parte de los programadores están familiarizados con un único paradigma: la programación procedimental. No obstante, existen multitud de paradigmas, adaptándose así a diferentes peculiaridades metodológicas o funcionales.

Lógicamente, no es obligatorio ni una necesidad pensar en que paradigma de programación usar cuando vas a empezar un proyecto nuevo. Lo cierto es que aveces, los seguimos sin ser consciente de ellos. Descubriremos eso mas abajo.

Paradigma de programación lógica: Consiste en la creación y desarrollo de asertos y reglas lógicas  definiendo un entorno de programación conversacional y deductivo.

Paradigma de programación funcional: Consiste básicamente  en la creación de funciones y mecanismos para automatizar la resolución de un problema mediante la programación.

Paradigma de programación heurística: la programación heurística, es básicamente resolver problemas haciendo uso de la propia creatividad. Se considera una de las cualidades del cerebro humano. Según el matemático George Pôlya, la base de la heurística, consiste en la experiencia tras resolver problemas, y el ver como lo resuelve otra persona. Personalmente, la programación heurística, es sencilla de entender, es quizás la mas utilizada entre los novatos  pero según cual es el propósito, se complica bastante.


  • Paradigma de programación paralela: La programación paralela, es un tipo de programación basada en el paralelismo. Como indica el nombre, su filosofía consiste en ejecutar varias instrucciones simultáneamente  de forma paralela. Existen varios tipos de paralelismo. Uno de sus variantes, es el siguiente tipo de paradigma.
  • Paradigma de programación híbrida: La programación híbrida, trata de realizar una perfecta convivencia entre lenguajes de alto nivel y bajo nivel. La idea principal, consiste en poder programar en lenguajes de alto nivel, y añadir funciones de bajo nivel para optimizar ciertas rutinas, sin necesidad de escribir procesos completos a bajo nivel.
  • Paradigma de programación de restricciones: Es un curioso método de trabajo. A diferencia de otras metodologías  la programación de restricciones, no busca resolver un problema, si no que crea normas y restricciones, que al ser verdaderas, se resuelve el problema, en lugar de especificar su método. Ejemplo:

if(x>0) operar(1);
Si X es mayor que 0, la función: operar, será valida y se podrá operar con X.

Este es el ejemplo mas básico de programación de restricciones. Si se fijan, es muy parecido a la programación lógica, ya que en ambos, debes crear normas a seguir por el programa.


En esta publicación, hemos detallado algunos de los paradigmas de programación mas empleados mayormente. La mayoría de programadores amateurs, no son conscientes de su paradigma de programación habitual, creando así una especie de desorden o una ligera incomprensión al compartir conocimientos con un programador profesional. Ademas, aun que seamos conscientes de nuestro paradigma de programación habitual, no siempre es el mas adecuado, y no está de mas conocer otras opciones. Yo personalmente, hace poco que me inicié, y realmente, me está siendo de gran ayuda, ya que conocer diferentes tipos de programación, ayuda a dividir por partes y a idear mecanismos mas perfectos para tus aplicaciones.

- Gracias por su tiempo, atentamente: Chaarlis Me.