¿Aprender algún lenguaje natural en particular favorecería tu carrera de programación? [cerrado]

52

Parece evidente que el inglés es el idioma internacional dominante para la programación basada en preguntas anteriores de P.SE (aunque un comentario altamente votado señala correctamente que hacer una pregunta como esa en un sitio predominantemente inglés sesgará los resultados).

Sin embargo, ¿hay algún beneficio en aprender un idioma extranjero para el desarrollo de software? Por ejemplo, ¿los chinos tienen herramientas de software, idiomas, tecnologías, etc. completamente diferentes? ¿Qué hay de japonés, ruso y otros idiomas no latinos? ¿Existe un mundo entero de lenguajes de desarrollo de software, herramientas, etc. que solo existan en estos otros idiomas?

¿O las personas que conocen estos idiomas usan las herramientas y los idiomas que conocemos y amamos?

Anónimo
fuente
2
+1. Buena pregunta. Me interesaría conocerme a mí mismo.
Neil
2
Los idiomas menos comunes a menudo tienen libros / tutoriales escritos en el idioma nativo de su autor. Por ejemplo, durante mucho tiempo la mayoría de las cosas de Ruby eran japonesas antes de que se hicieran populares.
jozefg
66
En tiempos antiguos, era útil saber japonés si eras desarrollador de videojuegos de consola.
David Sergey
2
Página interesante relacionada con esto en Wikipedia sobre lenguajes de programación no basados ​​en inglés .
Alexander
1
He trabajado con desarrolladores chinos y rusos y ellos trabajaron en inglés, por lo que diría que si bien siempre es beneficioso aumentar sus habilidades, el esfuerzo de aprender un idioma difícil (con lo que quiero decir que no usa el alfabeto occidental) es Probablemente insignificante.
Heatwave

Respuestas:

44

Voy a responder tu pregunta sobre el título. La respuesta es sí, pero no por las razones que busca. Al ser multilingüe en idiomas hablados, IMO puede ayudarlo a separar ideas de las cosas que se usan para expresarlas. Por razones similares, recomiendo aprender al menos un lenguaje de sintaxis no basado en c si comenzó con uno.

Erik Reppen
fuente
17
+1 Conocer múltiples lenguajes humanos puede ayudar con el pensamiento abstracto, y eso a menudo es aplicable en el desarrollo de software.
Allan
44
+1 (más si pudiera) He visto a demasiadas personas crear problemas para sí mismas porque no podían entender la diferencia entre un concepto y las palabras utilizadas para describirlo.
Anton
3
Me parece que conocer un lenguaje de señas, como el ASL, te da una perspectiva diferente sobre los idiomas en general
TruthOf42
1
@ TruthOf42 al menos no encontrará código comentado en ASL.
nalply
1
@EricDong No lo sé. Aprendí noruego cuando tenía 7-8 años. Tengo la impresión de la interacción con las personas a lo largo de los años de que muchas personas no se sorprenden pensando en forma no verbal. Creo que saber más de un idioma hablado ayudaría mucho con eso. Saber ASL probablemente ayudaría aún más. Y, por supuesto, aprender múltiples lenguajes de programación de escuelas de diseño muy diferentes también ayuda mucho. Soy un poeta pésimo pero sospecho que es muy parecido a eso. Cuanto más ves detrás de la cortina de palabras, más eficiente eres para expresar cualquier idea.
Erik Reppen
13

No. No te estás perdiendo ningún material de estudio.
Como hablante nativo de holandés, puedo prometerle que mi entorno de desarrollo + la mayor parte de mi material de referencia está escrito en inglés. Hay algunos programas que están escritos en un idioma diferente, pero puedo asegurarle que no hay magia en ninguno de ellos.

Sin embargo, puedo imaginar que la documentación sobre API / servicios web / proyectos o comentarios en el código fuente puede estar en un idioma diferente al inglés. Para eso, le sugiero que cubra algunos de los idiomas más hablados: español, árabe y chino.

Steffe
fuente
55
Esto, por supuesto, también dependerá del campo elegido: para los juegos, imagino que el japonés podría ser bastante útil ...
Clockwork-Muse
Trabajé en código comentado en tres idiomas diferentes: francés, inglés y alemán.
nalply
12

Puede tener sentido cuando desea especializarse en una tecnología específica que se desarrolló en un país que no es inglés.

SAP, por ejemplo, es una empresa alemana. SAP ERP, el gigante de un software generalmente conocido como "SAP", tiene la mayoría de sus módulos de software de usuario escritos en el lenguaje de programación ABAP de SAP. Como desarrollador, puede (y a menudo tiene que) mirar el código ABAP.

Hace una década, la mayor parte del desarrollo de ABAP tuvo lugar en Alemania y no existía una política de que los comentarios e identificadores debieran estar en inglés, por lo que se encuentra mucho alemán en el código ABAP heredado.

Como desarrollador de ABAP, frecuentemente necesito depurar el código heredado escrito por SAP. Soy un hablante nativo de alemán, así que es una molestia leve para mí cambiar mentalmente de alemán e inglés todo el tiempo, pero realmente me da lástima todo el que no habla alemán y de repente se encuentra en el código fuente comentado en alemán.

También encuentra algo de alemán en las API más antiguas. Por ejemplo, la hora actual se encuentra en la variable global SY-UZEIT. "Uzeit" es la abreviatura de "Uhrzeit", que en alemán significa "Hora del día". Un KUNNRID de cliente es un ("Kundennummer"), una cantidad de dinero en la moneda de la casa es un BETRH("Betrag - Hauswährung") etc.

He escuchado anécdotas de programadores pobres ABAP no alemanes que tienen un diccionario alemán justo al lado de su libro de referencia ABAP.

Philipp
fuente
Tuve una experiencia similar trabajando con TYPO3.
liori
9

A menos que planee su carrera en el lugar como China con un mercado autosuficiente, apuesto a que el inglés es más que suficiente. El aficionado puede usar otros idiomas, pero en todos los trabajos pagos que vi en cualquier lugar alrededor del inglés era el idioma obligatorio. Por razones prácticas también.

Por otro lado, conocer más idiomas puede ayudarlo en su carrera en actividades satelitales. Muchos programas están localizados, y tanto la traducción como las pruebas requieren que las personas conozcan el idioma de destino. Es una "habilidad" valiosa. Entonces, si tiene afinidad por esto, simplemente continúe y aprenda.

Balog Pal
fuente
1
En mi opinión, generalmente es un error contratar a un traductor que no haya crecido hablando el idioma de destino. Muchos estadounidenses pueden ser bastante competentes para traducir un idioma extranjero al inglés, pero muy pocos serán competentes para traducir el inglés a otro idioma.
Kevin Cline
2
Seguro, y un programador sería una pérdida de traductor también - pero es bueno si es capaz de detectar los problemas relacionados con l10n
Balog Pal
8

Sí, aprender otro idioma mejorará tu carrera de programación. Esto se debe a que, en mi opinión, aprender otro idioma promoverá cualquier carrera.

Esto se debe a varias razones, algunas de las cuales ya se han mencionado anteriormente:

  • Aprender otro idioma ampliará tus horizontes; necesariamente lo expondrá a aspectos de otra cultura y forma de pensar y le dará experiencia para mapear esto con sus propios pensamientos. Obviamente, esto tiene paralelos con la programación, pero también es una habilidad generalmente útil para la comunicación entre personas.
  • Aprender otro idioma (especialmente el segundo) lo ayudará a comprender cómo funciona su propio idioma, porque se ve obligado a analizar cómo funciona la gramática del nuevo idioma y cómo se corresponde con la gramática de su propio idioma, en lugar de aceptar ciegamente que " así es como es". Incluso si solo usa su lengua materna en su carrera, una mejor comprensión le ayudará a comunicarse de manera más efectiva.
  • Tener un poco de conocimiento de otro idioma puede hacerte lucir realmente bien. Todas las empresas, excepto las más pequeñas, tendrán que tratar con proveedores o clientes extranjeros. Incluso si ambos llevan a cabo sus negocios en inglés, el poder intercambiar pequeñas bromas (saludos, por ejemplo) con personas en su lengua materna crea una buena impresión. Estar disponible para crear esa buena impresión aumentará su posición con su empresa.
  • Conocer otro idioma lo ayudará a comunicarse de manera más efectiva con los hablantes nativos de ese idioma, incluso si está utilizando su idioma nativo. Esto se debe a que puede detectar intentos de usar construcciones que son comunes en el idioma extranjero y obtener el significado de ellos, incluso si no son tan claros en el suyo. Del mismo modo, te ayudará a detectar y comprender a cualquier falso amigo que pueda surgir.
  • Conocer bien un idioma abre la posibilidad de trabajar en países donde se habla ese idioma. Esto amplía el conjunto de trabajos potenciales disponibles para usted, lo que a su vez significa que tendrá más oportunidades para avanzar en su carrera.

Entonces, para responder sus preguntas directamente: ¿Aprender un idioma extranjero abrirá una nueva y sorprendente gama de lenguajes de programación y recursos de aprendizaje? No. ¿Te convertirá en un mejor ingeniero de software? Probablemente no directamente. ¿Pero te ayudará a convertirte en una persona mejor, más completa y más empleable y avanzar en tu carrera? Absolutamente.

Scott
fuente
2
+1! Para decirlo de manera más amplia: Esto se debe a que aprender cualquier cosa (para la mayoría de los valores de cualquiera) fomentará cualquier carrera. Pero no solo eso. Un humano más educado simplemente tiene una vida mejor.
Ingo
Las personas que no son inglesas ven la debilidad del inglés cuando API no se enfoca en matemáticas técnicas o negocios. Pensar en un idioma y traducir en otro (con diferentes reglas, sintaxis, gramática) necesita creatividad, imaginación y humor.
cl-r el
7

Si el inglés es su idioma nativo, aprender un idioma extranjero probablemente no le ayudará mucho en su carrera de programación. Personalmente, creo que conocer idiomas extranjeros es un ejercicio general muy bueno que amplía tus horizontes ("Wie viele Sprachen du sprichst, sooftmal bist du Mensch"), pero si solo estás buscando ganancias instantáneas, probablemente no valga la pena.

Dejando a un lado la autorrealización, aquí hay algunas situaciones en las que creo que podría beneficiarse de conocer un idioma extranjero por razones puramente pragmáticas:

  • Cooperación con socios o clientes del exterior. Incluso si no conoce el idioma lo suficientemente bien como para comunicarse, conocer algunos conceptos básicos puede hacerle conocer los problemas que pueden surgir en la comunicación o los problemas que los usuarios de idiomas extranjeros puedan tener con su producto.
  • Trabajando en cualquier producto que necesite ser bien internacionalizado. Sin conocer los conceptos básicos de algún idioma extranjero, es posible que se pregunte para qué sirven todas las bibliotecas complejas de i18n (como por qué el mensaje "% d mensajes nuevos" puede requerir varias traducciones diferentes al mismo idioma dependiendo del valor de% d) .
  • Ayuda a comprender las complejidades del manejo adecuado de Unicode.

Sin embargo, como se mencionó anteriormente, en muchas situaciones los beneficios no valdrán la pena si solo observa las ganancias inmediatas.

Michał Kosmulski
fuente
6

El inglés es el idioma dominante en el campo, no solo en la UE / EE. UU.

Como hablante nativo de chino, conozco personas que están usando el mismo conjunto de sistemas operativos, lenguajes de programación y herramientas. Algunos de ellos están traducidos al chino, el resto no es tan difícil como las novelas inglesas. Hay algunos "lenguajes de programación chinos" que tienen palabras clave chinas, no se usan mucho ni se consideran cosas serias.

Actualmente vivo en Japón y veo cosas similares aquí. Así que al menos no creo que saber chino, japonés u otro idioma natural misterioso pueda otorgar acceso a recursos irremplazables.

Por otro lado, me beneficié de la teoría semántica (no especificada en el lenguaje). Tanto en lenguaje natural como en lenguaje de programación, me ayudó a distinguir y refinar expresiones de una manera similar a la revisión de código.

Bromista
fuente
5

El único beneficio directo de aprender un idioma diferente es darle una mejor apreciación de los problemas relacionados con i18n . Es decir, al igual que los formatos de fecha, existen diferentes reglas para la gramática, de modo que la localización no se puede hacer simplemente agregando marcadores de posición para las cadenas.

Si solo desea mejorar su carrera de programación, hay usos mucho más efectivos de su tiempo, como repasar sus habilidades existentes o aprender un lenguaje de programación diferente , preferiblemente desde un paradigma diferente .

Dicho esto, hay muchos efectos beneficiosos directos y secundarios para aprender un idioma diferente, especialmente si eres monolingüe. Muchas cosas que parecen obvias para las personas multilingües no son tan obvias si no has estado expuesto a diferentes idiomas, por ejemplo, he notado que muchas personas monolingües no parecen darse cuenta de los chistes que dependen del idioma (tales como juegos de palabras) no funcionan en absoluto cuando se traducen. Esto puede ayudarlo a evitar que cometa errores insensibles, de los cuales mi ejemplo favorito es la historia apócrifa del anuncio de "cobrar vida" de Pepsi que se traduce erróneamente en chino como "dar vida a sus antepasados ​​muertos" . Tener esta sensibilidad adicional es útil en cualquier carrera.

En conclusión, creo que aprender un nuevo idioma proporciona grandes beneficios; Solo pregunto si es un uso eficiente de su tiempo.

congusbongus
fuente
Supongo que el inglés es el tono de tu madre.
Tulains Córdova
@ user61852 No tengo idea de cómo lo conseguirías, pero te equivocas.
congusbongus
3

El inglés es el idioma de resolución de problemas.

Mira este breve video.

"Tu lengua materna es tu vida, pero con el inglés te conviertes en parte de una conversación más amplia, una conversación global sobre problemas globales, como el cambio climático o la pobreza ... las matemáticas son el lenguaje de la ciencia, la música es el lenguaje de las emociones y ahora el inglés se está convirtiendo en el lenguaje de la resolución de problemas ".

-- Jay Walker, american inventor and entrepreneur

Supongo que si el Imperio Romano no se hubiera derrumbado, estaríamos escribiendo en latín en este momento.

Definitivamente el inglés es el idioma a seguir. Mi lengua materna es el español y aunque el español es uno de los idiomas más hablados, la cantidad de material técnico, documentación, tutoriales, blogs, sitios de preguntas y respuestas, etc. en español ni siquiera se acerca a la gran cantidad de recursos en inglés. .

También el inglés tiene una calidad concisa que lo hace inequívoco en muchos contextos.

Otro motivo: iTunes U.

Tulains Córdova
fuente
1
"El inglés es el idioma de resolución de problemas". Qué significa eso?
ypercubeᵀᴹ
@ypercube Vea este breve video: climateadaptation.tumblr.com/post/4895540259/…
Tulains Córdova
2

Hablo chino con fluidez y, en ocasiones, me he asomado al mundo de los programadores chinos. La mayor parte de su material de aprendizaje está traducido al inglés, por lo que no le falta nada en ese frente. Sin embargo, es interesante ver las diferencias culturales en las opciones de tecnología de programación. Por ejemplo, Go parece ser más popular en China que en cualquier otro país. Puede verificar haciendo una búsqueda en Google Trends para 'golang': http://www.google.com/trends/explore?q=golang#q=golang&cmpt=q

talloaktrees
fuente
2

Si bien el inglés es el idioma de facto de los desarrolladores de software, algunas veces he podido encontrar sugerencias y soluciones en sitios de la comunidad en otros idiomas. La traducción automática hace que broten esas páginas, por lo que es bueno poder leerla tal como está.

Por supuesto, si está trabajando con personas que dominan otro idioma, puede ser muy bueno, tanto en un sentido profesional como personal, poder comunicarse en su lengua materna. Dependiendo de su nivel y el suyo, puede ser más fácil aprender un par de palabras técnicas en su idioma y hacer que se expresen de la manera más cómoda que calzar su comprensión en un idioma donde es más probable que cometan errores semánticos.

l0b0
fuente
Los traductores automáticos traducen "mesa" al español "mesa", lo que significa los muebles en los que se sirve comida, independientemente del contexto sobre las tablas de la base de datos.
Tulains Córdova
2

Depende de lo que entiendas como carrera .

Si tiene trabajo como empleado en su país y desea que continúe así, por lo general no necesita saber ningún idioma, excepto su idioma nativo e inglés. Una excepción puede ser, cuando el cliente principal de su compañía es una compañía extranjera, y usted debe conocer el idioma de esa compañía. Por ejemplo, muchas empresas del oeste de Polonia están cooperando principalmente con empresas alemanas, y saber alemán es una gran ventaja, o incluso un requisito, para trabajar como desarrolladores senior (aunque los junior no tienen contacto con el cliente, no están obligados a hablar alemán )

Sin embargo, si quieres ser un profesional independiente , debes ser fluido en el idioma de tu cliente. Por supuesto, solo puede dirigirse a países de habla inglesa, pero saber, por ejemplo, Alemania o Francia le brinda más oportunidades y posibles contratos mejor pagados.

Si quieres trabajar en el extranjero , depende. Por supuesto, yendo a EE. UU. O Reino Unido, el inglés es la opción correcta. En los países pequeños (en Europa) hay muchos equipos de habla inglesa, por lo que, como contratista extranjero, puede esperar muchos trabajos de habla inglesa, por ejemplo, en Dinamarca o los Países Bajos.

Pero en países grandes como Alemania, los trabajos de habla inglesa son una excepción , y sin saber bien el alemán tienes pocas posibilidades de encontrar algo. Para obtener los mejores contratos pagados, necesita hablar alemán con fluidez, pero luego puede obtener trabajos bien remunerados .

Marinero danubiano
fuente
2

Esta es una buena pregunta. Yo diría que es útil aprender otro idioma hablado por la misma razón por la que es útil aprender otro lenguaje de programación: te permite pensar las cosas de formas nuevas.

Para bien o para mal, el inglés es el idioma universal de los programadores. Por lo tanto, no es probable que se pierda mucho debido a que solo habla inglés.

Michael Brown
fuente
1

Parece que todas las personas aquí parecen estar de acuerdo en que no hay un beneficio inmediato de aprender otro idioma para programar directamente (los lenguajes de programación se basan principalmente en inglés, es el idioma de los libros de texto y revistas de informática, etc.).

Sin embargo, conocer un idioma extranjero es beneficioso de muchas maneras. Al menos eso es lo que me dice mi experiencia al aprender varios idiomas extranjeros. Aprenderá diferentes formas de expresar cosas en otros idiomas y le abrirá nuevas formas de ver las cosas.

wirrbel
fuente