El programador gringo

Me tope con la entrada “The Ugly American Programmer“en Coding Horror. La traduzco por completo a continuación (sin imágenes, eso si):

Una de las cosas mas maravillosas del Internet es que puedes pretender que el mundo es plano. Sin importar el país en el que vivas, sin importar el idioma que hables; podrás tener acceso al conocimiento acumulado del mundo como cualquier otro ciudadano del planeta Tierra. Un creciente porcentaje de ese conocimiento puede y debe ser disponible en tu propio idioma.

Pero creo que las reglas son diferentes para los programadores. Tanto así que voy a preguntar lo impensable: No debería todo programador de software entender el ingles?

Una proporción desmesurada de información programática es disponible en ingles. La abrumadora mayoría de lenguajes de programación usan palabras en ingles. Por cualquier métrica usada, el ingles es la lengua franca de la programación.

Ahora, en términos de literatura cultural y turística, presumir que todos deben hablar ingles es una actitud completamente inaceptable, la epítome del americano feo.

nullrend: En México acostumbramos decir el “pinche gringo”. Uso la frase “americano feo” o “americano asqueroso” para mantener la traducción mas o menos literal.

Pero esas reglas no aplican para nosotros.

No estamos hablando de gente común y corriente. Estamos hablando de programadores. Ciudadanos del Internet. Gente que jura lealtad no a una nación, sino a un compilador. Hackers tienen su propia cultura, sus propias normas y estándares de literatura. Eric Raymond nota que ingles funcional es requerido para ser un hacker autentico:

Como Americano y usuario nativo el ingles, previamente he sido reacio a sugerir esto a menos que sea tomado como imperialismo cultural. Pero varios usuarios nativos de otros idiomas me han urgido a apuntar que el ingles es el idioma laboral de la cultura hacker y el Internet, y que necesitar conocerlo para poder funcionar dentro de la comunidad hacker.

Allá por 1991 aprendí que muchos hackers que usan ingles como segundo idioma lo utilizan en discusiones técnicas aun cuando comparten el mismo idioma nativo; me fue reportado en ese entonces que el ingles tiene un vocabulario técnico mas extenso que otros idioma y por lo tanto es simplemente una mejor herramienta para el trabajo. Por razones similares, traducciones de libros técnicos escritos en ingles suelen ser insatisfactorias (cuando son hechas para empezar).

Linus Torvalds, un finlandes, hace comentarios en su código en ingles (aparentemente nunca se le ocurrió hacerlo de otra manera). Su fluidez en el ingles ha sido un factor importante en su habilidad de reclutar una comunidad global de desarrolladores para Linux. Es un ejemplo digno a seguirse.

Siendo un orador nativo de ingles no garantiza que tienes habilidades lo suficientemente buenas para funcionar como un hacker. Si tu escritura es semi letrada, carece de gramática, y esta llena de errores ortográficos, muchos hackers (incluyéndome) tenderemos a ignorarte. Mientras que escritura fallida no significa pensamiento fallido, hemos encontrado que existe una correlación estrecha — y no tenemos uso alguno para pensadores fallidos. Si aun no puedes escribir de una manera competente, aprende a hacerlo.

Es difícil comunicar esta idea sin sentirse un programador americano asqueroso. Pero esto no viene de una nacionalidad, o un deseo de dominación. No es nada mas que grandes hackers cayendo en la cuenta que mantener discusiones técnicas en ingles facilita realizar el trabajo. Es una meritocracia de código, no idioma, y nadie (o por lo menos nadie que este cuerdo, por lo menos) localiza lenguajes de programación.

Recibí este correo de Slawomir, un programador polaco, hace algunos meses. Confirmo lo que siempre he sospechado y secretamente creía — pero titubeaba a decir:

Acabo de escuchar el podcast 29 de Stack Overflow donde discuten localización de herramientas de desarrollo.

En mi opinión no hay razón alguna para traducir herramientas y documentación.

Conozco muchos desarrolladores en Polonia que prefieren (como Joel menciono) obtener documentación en ingles en lugar de traducciones al polaco y la razón para ello es que las traducciones no siempre son fiables. Inclusive documentación provista por Microsoft fue traducida parcialmente o con errores, así que leer documentos en ingles era mas fácil que leer sopa ingles-polaco.

Si todos creamos blogs y desarrollamos en Ingles – nuestro repositorio global de soluciones y entradas de blog es mucho mayor y tienes mejor oportunidad de encontrar respuestas a tu problema.

Cambiar de forma consciente de Polaco a Ingles me recuerda por que deje atrás Visual Basic por C#, doloroso como fue. Estos idiomas hacen exactamente lo mismo — y la fricción de elegir el idioma minoritario es severa. Encontré mucho código y respuestas en C# en mis búsquedas, y casi nada en VB.NET. Pase tanto tiempo convirtiendo código a VB.NET e introduciendo bichos nuevos y errores en el proceso, así como incontables separaciones debido al lenguaje. Esto eventualmente dejo de tener sentido par mi — como seria para cualquier buen programador.

Abogar la adopción del Ingles como el idioma de facto para el desarrollo de software es simple pragmatismo, el rasgo mas virtuoso de todos los que tiene un hacker. Si eso me hace un programador americano asqueroso, que así sea.

La traduzco por que esto es algo que considero cierto. Si te crees chingon para cualquier cosa relacionada con computadoras es necesario que por lo menos lo sepas entender para no hacer algo de lo que despues te arrepientas. Esto tambien aplica a entornos de soporte a usuarios finales. En muchas ocasiones las fuentes de informacion disponibles solo existiran en ingles. Los mismos comentarios en la entrada original lo dicen.