No sólo aprendas el lenguaje, entiende su cultura
Autor: Anders Norås

En preparatoria tuve que aprender un idioma extranjero. En ese momento pensé que siendo bueno en inglés podría arreglármelas, así que escogí dormir por tres años en las clases de francés. Unos años más tarde fui a Túnez de vacaciones. El árabe es la lengua oficial ahí y, al ser una antigua colonia francesa, el francés es también de uso general. El inglés se habla sólo en zonas turísticas. Debido a mi ignorancia lingüística, me encontraba confinado en la piscina leyendo Finnegans Wake, de James Joyce, un tour de formas y lenguaje. Una mezcla lúdica de más de cuarenta idiomas, fue sorprendente, aunque una agotadora experiencia. Darme cuenta de cómo mezclar palabras y frases extranjeras le dio al autor nuevas formas de expresarse es algo que he mantenido conmigo en mi carrera como programador.

En su libro, The Pragmatic Programmer (El Programador Pragmático), Andy Hunt y Dave Thomas nos animan a aprender un nuevo lenguaje de programación cada año. He intentado vivir de acuerdo con su consejo y a lo largo de los años he tenido la experiencia de programar en muchos lenguajes. La lección más importante de mis aventuras como políglota es que se necesita algo más que sólo aprender la sintaxis para aprender por completo el lenguaje: necesitas entender su cultura. Puedes escribir Fortran en cualquier lenguaje, pero para aprender un lenguaje tienes que adoptarlo. No pongas excusas si tu código en C# es un largo método Main con muchos métodos de ayuda, en vez de ello, aprende por qué las clases tienen sentido. No te apenes si la pasas difícil entendiendo las expresiones lambda usadas en lenguajes funcionales, oblígate a usarlas

Una vez que hayas aprendido las trabas de un nuevo lenguaje, te sorprenderás al empezar a usar lenguajes que ya sabías de nuevas maneras. Aprendí cómo usar eficazmente los delegates en C# programando en Ruby, liberar todo el potencial de los generics de .NET me dio ideas de cómo podría hacer más útiles los generics de Java y LINQ hizo fácil enseñarme Scala.

También tendrás un mejor entendimiento de diseño de patrones al moverte entre diferentes lenguajes. Los programadores de C encuentran que C# y Java han más comercial el patrón iterador. En Ruby y otros lenguajes dinámicos es posible seguir utilizando el patrón visitor, pero tu implementación no se parecerá al ejemplo del libro de La Banda de los 4.

Algunos podrían argumentar que Finnegans Wake es imposible de leer, mientras que otros lo aplaudirán por su belleza estilística. Para hacer el libro una lectura un poco menos temible, hay traducciones disponibles en un lenguaje único. Irónicamente, la primera traducción fue en francés. Con la codificación es similar en muchos sentidos. Si escribes código Wake con un poco de Python, algo de Java y un toque de Erlang, tus proyectos serán un desastre. 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.

Traducción: Espartaco Palma

Leer contribución original