Juanse Marquez

Mi blog personal

Idiomas de programación

07/04/2021 — Juanse Marquez

Siempre se tradujo “programming language” como “lenguaje de programación”. Creo que es un error histórico, y que además perdimos una oportunidad.

“Programming language” has always been translated into Spanish as “lenguaje de programación”. I think that’s a mistake, and a lost opportunity.


(English below)

Cumplo en aclarar antes que nada que no soy traductor, sino programador.

El otro día me encontré con la ya famosa frase:

If you’re learning how to code, the first language you should study is English

Tiene sentido: no saber inglés limita mucho en esta profesión. ¿Cómo traducir esta frase?

Obviamente, entendí que la palabra “language” tiene un doble sentido: lenguaje de programación (PHP, Python, javascript, etc) por un lado, e idioma (inglés, castellano, etc) por otro. Y pensaba cómo traducir este doble sentido, porque:

El primer lenguaje que deberías estudiar es inglés

suena raro. Inglés, francés, italiano, etc. son idiomas, o lenguas, pero no lenguajes.

Y me di cuenta de algo fundamental: language no significa lenguaje. Seguramente es un descubrimiento ingenuo, y ustedes ya lo habían pensado antes. Pero tiene una implicancia profunda.

¿Qué significa lenguaje? Es la capacidad abstracta que tenemos los seres humanos para comunicarnos simbólicamente. En algún idioma. En cualquier idioma.

Y, desde hace muchas décadas, y a causa de una mala traducción, estamos llamando lenguajes de programación a lo que deberíamos llamar idiomas de programación.

Y nos “malgastamos” un significante. Porque sería importante poder hablar de lenguaje de programación en el cabal sentido de la palabra. ¿No conocen ustedes personas que saben bastante bien un idioma de programación (como PHP o Python), pero que no saben programar (es decir, no saben el lenguaje de la programación)? O al revés: seguramente se han cruzado con personas que ignoran por completo un cierto idioma de programación (por ejemplo, PHP), pero son grandes programadores en otro idioma (por ejemplo: C). Pues bien, estas personas pueden aprender rápidamente el idioma de programación que desconocen, porque ya son buenos programadores, es decir que ya dominan el lenguaje de la programación .

Desde luego, quien se cruza con la frase “programming language” en un texto, debe traducir “lenguaje de programación”, porque a esta altura el error inicial está tan difundido, que sería incomprensible si intentáramos corregirlo.

No sería el primer ejemplo: ¿no es más claro “circuito corto” que “cortocircuito” como traducción de “short circuit”? ¿No es más claro “la fuerza de un caballo” que “caballo de fuerza” para “horse power”?

¿Ustedes qué opinan? ¿No les parece que estaría bueno tener a mano el concepto de lenguaje de programación en el sentido que propongo acá?


Translating programming languages

First of all, I’d like to state that I’m not a translator, but a developer.

Some days ago, I came across the famous phrase:

If you’re learning how to code, the first language you should study is English

It makes sense: not being able to communicate in English implies huge limitations in this profession. How should we translate that phrase into Spanish?

I knew the word “language” means two things at the same time in that phrase: programming language (PHP, Python, javascript, etc) and natural language (English, Spanish, etc). And I was wandering how to translate that, because

El primer lenguaje que deberías estudiar es inglés

sounds weird. For Spanish speakers lenguaje is not English or French or Italian. Those are idiomas o lenguas (tongues).

And I realized that, most of the time, language can’t be translated as lenguaje. It’s probably naive to discover it now, but I’ve never thought about it in the past. But we can go deeper.

What is lenguaje in Spanish? It’s the abstract ability that humans have for symbolic communication. In any language.

For many decades now, and because of a wrong translation, we are talking about lenguajes de programación when we should talk about idiomas de programación.

And we “burnt” a word. Because talking about lenguajes de programación in the real meaning of the word could be useful. Don’t you know people that have studied a programming language (idioma) quite well, but nevertheless they program awfully (i.e., they ignore lenguaje )? On the contrary, you’ve probably come across people that ignore some language (idioma), namely PHP, but they’re great programmers in some other language (idioma), namely C. Well, those people can learn fast and well the language they ignore, because they’re already good programmers: they master lenguaje, but not necesarily idioma.

Of course, if you’re translating, you shoud write “lenguaje de programación” for “programming language”, since at this point that initial mistake is so widespread, that you must repeat the same mistake, or you won’t be understood.

It’s not the only example: “short circuit” is translated as “cortocircuito”, when “circuito corto” would be much better. “La fuerza de un caballo” would better the usual “caballo de fuerza” for “horse power”.

What do you think? Wouldn’t it be great having the distinction between idioma and lenguaje as suggested here?

Tags: english, castellano, programacion

¿Commentarios? / Comments? Tweet