fbpx
Desarrollo y Tecnología

Si quieres que tu código sea más bello, aprende otro lenguaje

By 1 abril, 2019 mayo 14th, 2019 No Comments

La lengua ha sido un campo de gran interés para la psicología. Durante un tiempo se consideró que aprender una segunda lengua causaba confusión al cerebro y se llegó incluso a desaconsejar a edades tempranas. Las evidencias científicas dicen, sin embargo, lo contrario. Aprender otro idioma no solo mejora nuestra atención y nuestras habilidades de escucha sino que nos facilita aprender otras lenguas adicionales, ser mejor en la multitarea e incluso se considera que tiene un efecto preventivo en retrasar la demencia o el Alzheimer en casi cinco años.

Pero si las anteriores son ventajas fisiológicas, hay unas ventajas psicológicas incluso más importantes. La lengua es una manera de ver el mundo, la mirada de una cultura. Como dijo Vargas Llosa en el V congreso de Academias de la Lengua Española: “La lengua nos sitúa en el mundo, ordena nuestra vida y nos modela psicológicamente . Cambiar la manera de ver el mundo nos mejora en innovación y nuestra creatividad. Es como si nos dotara de “una segunda alma”. Además, sorprendentemente, una segunda lengua nos hace conocer mejor nuestra primera lengua pues nos hace poner atención en las normas y estructuras del lenguaje abstracto. En palabras del escritor Geoffrey Willans “nunca se puede entender una lengua hasta que comprendas al menos dos».

«La lengua nos sitúa en el mundo, ordena nuestra vida y nos modela psicológicamente» Mario Vargas Llosa

Llegados a este punto el lector podría preguntarse ¿a qué viene todo esto? Yo soy desarrollador, no políglota ¿o sí lo soy?.

Cada lenguaje de programación está dentro de un grupo de lenguajes que responden a un paradigma de programación: orientado a objetos, procedimental, funcional, lógico, de flujo de datos, etc. Cada paradigma es una manera de pensar sobre el software. El primer lenguaje de programación que aprende un programador tiene un efecto dominante en su forma de enfocar los problemas y de pensar en ellos y esto le pone límites para ser mejor.

Aprender un segundo lenguaje será un mayor desafío si éste tiene un modelo computacional diferente del primero. En palabras de Russel Winder en el magnifico libro de artículos: “97 cosas que todo programador debería saber” , la ventaja de aprender nuevos lenguaje de programación de enfoques diferentes: “tiene que ver con la forma en que pensamos en la implementación de algoritmos, los modismos y patrones de implementación que aplican. En específico, la fertilización cruzada es la base de la experiencia. Los modismos para la solución de problemas que aplican en un lenguaje podrían no ser posibles en otro. Tratar de portar el modismo de un lenguaje a otro nos enseña sobre ambos lenguajes y sobre el problema a ser resuelto.

El primer lenguaje de programación que aprende un programador tiene un efecto dominante en su forma de enfocar los problemas

De ese modo, al igual que ocurría con los idiomas, el aprendizaje de otros lenguajes de programación, aunque no se vayan a usar habitualmente, es un modo de sofisticación de los lenguajes que se utilizan.

En el punto 27 de los 97 del libro citado, el autor del articulo, Anders Noras, dice algo tan inspirador como que:

“Si exploras un nuevo lenguaje para expandir tu mente y obtener ideas frescas sobre cómo puedes solucionar las cosas de manera diferente, entonces encontrarás que el código que escribes en tu tan confiable lenguaje se hace más hermoso por cada nuevo lenguaje que has aprendido”