¿Se debe traducir el código fuente en los libros de texto y similares?


16

Hace unas semanas, mi clase fue asignada para traducir al portugués el libro Real World Haskell. Mientras hacía la traducción del texto y los comentarios, comencé a preguntarme si también debía traducir el código, como sugirió el instructor. Por ejemplo:

data BookInfo = Libro Int String [String]
              derivando Show

se convertiría

datos InfoLivro = Livro Int String [String]
               derivando Show

Como no he leído ningún libro relacionado con el software en portugués, no sé si es una práctica común, ni si debería hacerse de esta manera. Al final, el código es una mezcla de idiomas (quizás el ejemplo en Haskell no sea bueno, ya que puedes crear sinónimos rápidamente type CadeiaDeCaracteres = String, pero entiendes el punto). Por lo tanto, no importa cuánto lo intentes, tendrás que confiar en la experiencia previa del lector con algún tipo de palabras básicas en inglés.

Sabiendo esto, realmente no veo el sentido de traducir código, ya que aprendemos en los primeros días de nuestra vida de codificación que debería estar escrito en el lenguaje universal. Sin embargo, si el texto circundante (comentarios, por ejemplo, y el texto mismo en un libro) necesita ser traducido, ¿qué es posible y factible en este asunto? ¿Me puede dar alguna orientación sobre qué hacer?


99
¿Qué espera el instructor que aprenda de esto? Sí, es posible que aprenda un poco sobre Haskell, pero parece que es principalmente una prueba de sus habilidades de traducción al inglés. ¿Solo quiere una traducción para futuras clases y cree que perder el tiempo de todos los estudiantes de esta clase es la manera de lograrlo? Mi apuesta: todo lo que aprenderá es por qué la traducción es un campo especializado mejor realizado por expertos.
Dori


@Dori, estoy completamente de acuerdo. Lamentablemente, así es como funciona mi universidad, al menos en el campo CS.
rapfaria

deberías decirle algo como esto: "" "Profesor, você está realmente louco. Eu preferiria dormir com sua mãe do que fazer isso. Aprenda Inglês ou perecer." ""
Trabajo

Respuestas:


13

En mi opinión, no. La mayoría de los programadores se ven obligados, lo quieran o no, a aprender inglés, y hoy en día es la lengua franca del mundo del software.

Sin embargo, en mi experiencia, los libros escritos por autores en uno de los idiomas más fuertes tienen una tendencia a hacerlo, hasta ahora he visto la práctica en libros en alemán, francés y ruso (bueno, el ruso es un poco diferente de un caso, ya que también usan un alfabeto diferente). Es una regla general que depende de la dependencia del país en inglés.

Por supuesto, el texto se traduce, los comentarios más grandes también (uno que describe el funcionamiento de un programa con mayor detalle), y luego algo más raro, comentarios más pequeños y nombres de variables. También he visto el caso donde se tradujeron nombres de variables, pero se dejaron comentarios más pequeños en inglés. Sin embargo, creo que el autor, en ese caso particular, contaba con que su audiencia tuviera un conocimiento práctico del inglés.

Lo siento si esto no resolvió su dilema, pero todavía no hay un consenso sobre este: - /


11

Soy brasileño [aquí hablamos portugués, ofc] y, cuando puedo elegir entre la versión original o la traducida, siempre tomo el original, ya que casi todos los libros se traducen a personas que no son programadores, por lo que pierden comandos y expresiones su significado original después de la traducción.

Otra razón para querer libros en inglés es que todo en la web [o las mejores cosas, como este sitio] está escrito en inglés, por lo que estará familiarizado con el término en inglés y podrá comprender mejor el código de otras personas ... [ya que un buen programador codificaría en inglés, al menos desde mi POV]

Si necesita leer libros en portugués [u otro idioma], prefiera los escritos en ese idioma [no traducidos].

Para que quede claro: si va a traducir ese libro, intente mantener todo el código en inglés [los comentarios pueden traducirse, pero no los vars o funcs] y no intente traducir cosas como 'array' a 'arranjo' o 'mouse' a 'rato' [al menos preferiría el término en inglés, la gente en Portugal preferiría el segundo, supongo].


3
+1 por necesitar un experto en los tres (idioma de origen, idioma de destino, programación)
Frank Shearar

2

Como hablante no nativo de inglés, no me gusta el código traducido.

  1. Construye buenas prácticas. Como profesional, no solo el inglés es el idioma principal del campo, sino que las personas con diferentes antecedentes comparten y trabajan en el mismo código. Escribir su código en otro idioma reduce en gran medida la cantidad de personas que pueden trabajar con su código. Me divertí mucho con un código escrito en otro idioma y es horrible. Entonces, ¿por qué no fomentar los buenos hábitos?

  2. Se ve feo. La mayoría de los lenguajes de programación usan palabras clave en inglés y, con una buena opción para los identificadores, leer un programa puede ser una experiencia cercana al lenguaje natural. A menos que use otro idioma para los identificadores, lo que lo hace similar a leer en 2 idiomas al mismo tiempo.

  3. No creo que ayude tanto. Incluso para una persona que no habla inglés, el inglés utilizado para los identificadores en un programa regular es bastante simple y se puede aprender muy rápido.


2

Un buen punto en contra de traducir ejemplos de código es que, si lo hace, tendrá que probarlos , ya que se espera que los ejemplos de código traducidos sean correctos como los originales.

¿El esfuerzo de prueba está incluido en el costo de la traducción? Supongo que no, en la mayoría de los casos.

Si no prueba el código traducido, corre el riesgo de que el código se rompa o sea incorrecto, dañando la reputación tanto del material traducido como del original.

Si no desea incurrir en el esfuerzo de probar los ejemplos de código, solo debe traducir los comentarios pero no cambiar el código de ninguna manera.

Otra cosa a tener en cuenta es el hecho de que el autor original probablemente tenía una base de código, tal vez una aplicación completa o una biblioteca que compila en conjunto. Los ejemplos de código se extraen de dicha base de código y se extienden por todo el libro. No tendrá eso, por lo que podría, después de traducir los ejemplos de código, terminar con ejemplos de código que, en el libro traducido, se contradicen entre sí, debido a las diferentes decisiones de traducción en diferentes partes del libro, mientras que en el libro original no porque fueron extraídos de la misma base de código.


0

No hablo otro idioma que no sea inglés. (Bueno, soy latino en la escuela secundaria. Útil si alguna vez visito América Latina. :-) Con ese trasfondo, diría:

Como otros han señalado, mucha información sobre programación, en la web y en los libros, está en inglés, por lo que sin duda sería útil si aprendes inglés.

Algunos lenguajes de computadora usan muchas palabras en inglés, como Visual Basic, por ejemplo. Otros usan principalmente símbolos, como C / C ++ / C #. Entonces, si vas a programar, tendrás que aprender ALGUNO inglés. Pero no creo que sea mucho. SI, MIENTRAS, RETORNO, etc. Dependiendo del idioma, tal vez 10 o 20 palabras a unas pocas docenas. Visual Basic es el lenguaje más verbal que se me ocurre, y acabo de comprobar una lista y, según un conteo rápido, tiene alrededor de 160 palabras reservadas, pero hay mucha duplicación allí. Como END y WHILE y luego END WHILE enumerados como tres "palabras" separadas. Puedo ver que esto es inconveniente para un hablante que no habla inglés, pero estas palabras a menudo se usan con significados solo vagamente relacionados con sus significados comunes en inglés, por lo que creo que en muchos casos ' No es mucho más difícil para un hablante que no habla inglés que para un hablante de inglés. Como, el significado de HANDLER o CAST probablemente no sea más obvio para un nuevo programador que habla inglés que para un nuevo programador que habla portugués. Si en cambio algunas de estas cosas fueron llamadas por palabras que no tienen sentido en inglés, como si en lugar de decir CAST dijéramos FOOBAR, ¿eso me habría dificultado aprender programación? Dudo que hubiera hecho mucha diferencia. ¿eso me hubiera dificultado aprender programación? Dudo que hubiera hecho mucha diferencia. ¿eso me hubiera dificultado aprender programación? Dudo que hubiera hecho mucha diferencia.

Usted menciona que algunos idiomas tienen opciones para definir palabras alternativas para palabras clave de una forma u otra. Entonces, sí, podría definir palabras de su propio idioma como sinónimos de las palabras clave en inglés. Yo no lo haría Ahora sus programas tienen un montón de términos no estándar que usted inventó. Es improbable que otra persona que intente lo mismo use exactamente el mismo conjunto de palabras que usted. Entonces, ahora que lees el programa de otra persona, tienes que descubrir qué quería decir con sus "traducciones". Supongo que si todos en la empresa usaran el mismo conjunto, los aprenderían y podrían trabajar en los programas de los demás fácilmente. Pero, ¿qué sucede cuando te mudas a otra empresa o descargas software de la web? Me parece que solo te estás poniendo una trampa. Es mejor aprender las palabras estándar.

Si está escribiendo un programa en portugués y las únicas personas que probablemente lo leerán son otros brasileños, y presumiblemente todos hablan portugués pero tal vez no hablan inglés con fluidez, simplemente tiene sentido hacer que los nombres de las variables sean portugueses. No veo lo que se gana al tratar de hacer nombres de variables en un idioma en el que no eres particularmente bueno.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.