De paradigmas y lenguajes. La programación en Linux 5

agosto 21, 2021 , 0 Comments

De paradigmas y lenguajes

En esta serie de artículos destinada a a dar un marco de referencia a nuestros lectores interesados en aprender a programar en  Linux, llegó el momento de hablar de la codificación. Recuerden que habíamos dicho que la programación no solo es escribir código, además abarca la toma de decisiones sobre que debe hacer el programa, como debe hacerlo y como se determinará que lo hace adecuadamente.

Cómo elegir un lenguaje y no morir en el intento

La actual moda potenciada por los políticos y los medios de comunicación, de que basta enseñar programación  a los desocupados para terminar con el desempleo y la pobreza no es nueva. Yo crecí en los 80 con las Home Computers y todavía recuerdo publicidades de institutos que prometían un futuro de grandeza si te anotabas en sus curso de Basic.  Basic, como su nombre lo indica era (es) un lenguaje para enseñar los rudimentos. Aprenderlo te ayuda a convertirte en un programador profesional como aprender a leer te ayuda a convertirte en médico.

En la web hay montones de artículos defendiendo que tal o cual lenguaje de programación es la mejor opción. La verdad es que no existe algo como eso. Nuestros abuelos podían aprender mecanografía o taquigrafía con un determinado método y con eso aguantar toda su vida. No hay un equivalente en la programación, los paradigmas cambian, nuevos dispositivos aparecen. Se hace necesario trabajar con distintos métodos de entrada y salida.

Es por eso que en lugar de hacer la habitual lista de lenguajes de programación, voy a dedicar unos párrafos a los diferentes paradigmas en lenguajes de programación.

Son muy pocos los lenguajes que implementan un paradigma al 100%.  Hay algunos que en su mayor parte adscribern a uno pero implementan algunas características de otro cuando son necesarias. Por el contrario, muchos permiten la programación en uno o más paradigmas. Son los llamados lengujes de paradigmas múltiples.

De paradigmas y lenguajes de programación

La palabra paradigma, no debería relacionarse con un lenguaje de programación específico, si no con una metodología de crear los programas. Aunque cualquier lenguaje pueda utilizarse con cualquier paradigma, sus creadores tenían en mente una metodología en particular cuando los crearon, por lo que será más fácil utilizarlos dentro de ella.

Algunos paradigmas habituales son:

  • Paradigma funcional:  Pone el énfasis en la evaluación de funciones matemáticas combinadas con expresiones. En la programación funcional, en lugar de asignar funciones a las variables, se combinan llamadas a funciones. Algunos lenguajes de programación compatibles son: LISP, Scheme y Haskell
  • Paradigma imperativo: El paradigma imperativo aprovecha mejor la capacidad de las computadoras de acceder y modificar el contenido de la memoria. Eso lo hace ideal para aplicaciones donde algunos elementos de la función varíe en forma constante. En los programas escritos bajo él, los comandos muestran cómo se realiza el cálculo, paso a paso. Cada paso afecta el estado global del cálculo. Entre los lenguajes de programación podemos mencionar: Algol 68, Cobol, C, Fortran y ADA.
  • Paradigma lógico: No todos los problemas se pueden representar como funciones matemáticas.  Por eso en este paradigma se pone énfasis en las relaciones entre elementos. Los programas se construyen estableciendo relaciones que especifican hechos y reglas de inferencia, para luego comprobar automáticamente si una premisa es cierta o no. El más conocido de los lenguajes de programación bajo este paradigma es Prolog.
  • Paradigma orientado a objetos: Los otros paradigmas consideran los datos y lo que se hacen con ellos como entidades separadas. Este paradigma une los datos y los procedimientos que  se le aplican en entidades llamadas objetos. La programación se basa en el envío de mensajes a los objetos. Los objetos responden a los mensajes realizando operaciones, generalmente llamadas métodos. Los mensajes pueden tener argumentos. Acá nos encontramos con algunos conocidos; C++, Python o Java por mencionar algunos.

Que toda esta palabrería no te asuste. Era necesario hablar de los paradigmas porque cuando profundices en alguno de ellos va a salir el tema. Lo mejor que puedes hacer es ir probando diferentes lenguajes para probar con cuál te sientes más cómodo y después probar otros que pertenezcan al mismo paradigma.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.