¿Cómo se benefician los lenguajes de programación al estar basados en el inglés? [cerrado]

14

Creo que el mundo ahora programa en lenguajes de programación basados en inglés no solo debido a circunstancias históricas / económicas, sino porque la morfología inglesa en particular tiene algunas propiedades que se adaptan mejor al pensamiento algorítmico. Pero de todos modos, sería interesante escuchar sus opiniones sobre esto, especialmente si usted también es multilingüe.

He visto algunas referencias a lenguajes basados en el alemán (ver Plankalkul por ejemplo, de hecho, el primer lenguaje de programación del que sabemos muy poco, gracias a WW2), también una versión de Algol basada en Rusia que existió en Los 80 al menos en papel, no estoy seguro de si alguna vez existió en binario o no. Ambos parecían un poco lentos porque había más palabras abreviadas y abreviaturas extrañas que palabras completas como en los idiomas basados en EN. Por lo tanto, si conoce algún otro PL basado en el idioma nacional, incluso hoy en día es completamente arcaico e irrelevante, puramente teórico o lo que sea, sería interesante echarle un vistazo.

Y volviendo a la pregunta principal: ¿qué hace que el lenguaje de Shakespeare sea tan bueno para la programación?

(En realidad, hay una lista de Lenguajes de programación no basados en inglés en Wikipedia (por supuesto , ¿dónde más?), pero sería interesante escuchar las opiniones de los hablantes nativos de esos idiomas sobre cómo se siente realmente un determinado lenguaje de programación "nacional".

    
pregunta mojuba 04.11.2010 - 16:30

8 respuestas

17

Descargo de responsabilidad: mi idioma nativo es el alemán.

No creo que exista ninguna razón por la cual el inglés como idioma para tomar palabras clave sea mejor que cualquier otro lenguaje natural. Creo que es el único lenguaje importante en TI, pero no por sus propiedades lingüísticas, sino porque la mayoría de los técnicos lo hablan en cierta medida, es el contacto nativo de muchas personas importantes en el campo, la mayoría de los términos relacionados con la tecnología. ya son ingleses, etc.

Pero como hablamos de lenguajes de programación, no de documentación / API / nombres / etc, tengo que objetar: los lenguajes de programación no se basan en el inglés, ni en ningún otro idioma natural, en realidad. Los lenguajes de programación son lenguajes formales. Utilizan, en mayor o menor grado, un puñado de palabras de (generalmente) inglés. Algunos incluso intentan imitar su gramática, pero no leen el inglés como sea. Para agregar insulto a la lesión, solo asocian un solo significado con cada palabra que piden prestada. A menudo, este significado es muy jerga, especializado o basado en una analogía cuestionable. Por lo tanto, conocer los innumerables significados en lenguaje natural de una palabra prestada por el lenguaje de programación no ayuda realmente a comprender el concepto de programación detrás de la palabra clave. Ejemplos de la parte superior de mi cabeza: array , type , goto , class , void . (Dato curioso que me vino a la mente cuando releí la pregunta: Todos estos, excepto goto , tienen traducciones al alemán que tienen como máximo un carácter: Feld , Typ , Klasse , Leere . Todos me suenan raros, pero eso es probablemente una cuestión de hábito.

    
respondido por el user7043 04.11.2010 - 17:17
8

Inglés es el lenguaje de programación lingua franca .

Del mismo artículo:

  

No son más que grandes piratas informáticos que se dan cuenta colectivamente de que seguir la discusión técnica en inglés hace que sea más fácil hacer las cosas.

    
respondido por el Matt Ball 04.11.2010 - 16:46
5

El idioma inglés es favorable porque:

  1. Se ajusta mejor a las restricciones de los periféricos actuales.

Facilidad de tipo. Puede utilizar un teclado estándar. Sé que esto suena como "estiércol de llama", pero ¿has intentado escribir en chino? Hay miles de caracteres y, dado que los chinos no tienen una técnica de construcción de "personajes" adecuada para adaptarse al concepto de teclado, no sería fácil de aprender para una audiencia global.

  1. Puede transformarse en palabras que no son reconocibles por igual. El inglés favorece las abreviaturas debido a la falta de símbolos de acento.

Las palabras abreviadas en inglés son símbolos reconocibles. Uno no tiene que aprender todo el idioma inglés para codificar, por lo que las personas externas al idioma pueden aprender rápido.

  1. Y considere que los lenguajes de programación comunes tienen más símbolos matemáticos y menos palabras.

La asamblea usaba palabras pequeñas que no tenían estructura de oración. Luego vinieron los idiomas, como COBOL y FORTRAN, que intentaron acomodar la estructura de la oración en inglés lo más posible. Los lenguajes más nuevos implementaron una mayor dependencia de los símbolos algebraicos universales, porque tenían una mejor previsibilidad. (En COBOL Agregar X a Y, Restar Y de X, Calcular Y = X + A; Calcular hace innecesarias las declaraciones anteriores y reduce la complejidad del análisis de idioma). No me tomaría mucho más considerar que los lenguajes como C ++ son más simbólicos que el lenguaje. Hay un poco de un retorno a la programación basada en palabras con C #, pero eso se debe principalmente a la compatibilidad con los patrones de programación populares.

Conclusión:

En última instancia, los periféricos se limitan a un lenguaje basado en caracteres (como el inglés). Además, las lenguas occidentales tienen mejor soporte para los conceptos matemáticos (como el concepto de 0, entre otros; China toma prestados números en lugar de su propia representación de valores numéricos, para transmitir mejor los números, porque es más corto escribir (en promedio)). Aparte de los valores numéricos, vería que los lenguajes basados en símbolos (chino) son más adecuados para la morfología del lenguaje de programación que el inglés, ya que la mayoría de los lenguajes modernos ya usan símbolos, y sería universalmente equivalente a aprender. Sin embargo, tendríamos que imponer una estructura similar a C ++, tener bloques de símbolos no sería fácil de leer para la mayoría de las personas en el mundo.

    
respondido por el Lee Louviere 04.11.2010 - 17:04
5

La única razón por la que el inglés se usa ampliamente en informática es que ahora mismo es un idioma muy difundido.

Si las computadoras se inventaron hace 2000 años, habrían usado el griego. Si se hubieran inventado hace 200 años, habrían utilizado el francés. Si se hubieran inventado en 200 años, probablemente usarían el chino ...

    
respondido por el Guffa 04.11.2010 - 19:54
3

Estos son algunos de los beneficios que tendría un lenguaje de programación hipotético si solo asumiera el alfabeto inglés - latino.

  1. Es un pequeño conjunto de caracteres (a diferencia de decir Kanji)
  2. No suele utilizar signos diacríticos (a diferencia de francés, español, alemán, etc.)
  3. Cada mayúscula tiene una minúscula (a diferencia del alemán Eszett)
  4. Su compilación es sencilla

Todas estas cosas son problemas que aún no se han resuelto correctamente en todos los dispositivos. Por ejemplo, los títulos de canciones con signos diacríticos no se muestran correctamente en un número de reproductores de música

    
respondido por el Conrad Frix 04.11.2010 - 17:23
2

No estoy seguro de que los lenguajes de programación se beneficien al estar basados en el inglés. En explicación:

  • El nombre de los métodos, variables, objetos, etc. no son importantes para la computadora
  • El contenido de un comentario no le importa a una computadora
  • La lógica de la programación se puede expresar en la mayoría de los idiomas hablados (y asumo TODOS).

Entonces, si el inglés es beneficioso para los lenguajes de programación, sería para ayudar a que más personas usen el lenguaje de programación. En ese sentido, aquí hay algunos pensamientos:

  • Muchas personas en países extranjeros aprenden inglés ya sea que quieran o no programarlo
  • Las personas que diseñan un lenguaje informático y desean que muchas personas lo utilicen generalmente elegirán el lenguaje hablado más conocido para describirlo.

Resumiendo estos pensamientos, no creo que el inglés realmente ayude a programar lenguajes de ninguna manera significativa que la mayoría de los otros lenguajes podrían ofrecer, aparte de que muchas personas lo hablan.

    
respondido por el John Fisher 04.11.2010 - 17:09
1

En mi opinión, el inglés simplemente tiene un vocabulario técnico y matemático más rico que muchos otros idiomas (pero no todos). Los idiomas que carecen de dicho vocabulario utilizan palabras de préstamo en inglés para hacer el trabajo. Esto solo es una razón convincente para orientar los lenguajes de programación hacia el inglés.

En cuanto a los idiomas que tienen un vocabulario lo suficientemente rico para describir todo lo que necesitamos describir sin recurrir constantemente a palabras prestadas en inglés, la tradición del inglés como lingua franca (lengua común) para las ciencias es en sí misma convincente, pero nuestra El alfabeto nos da otra pequeña ventaja:

  • El inglés se puede representar en un conjunto de caracteres más pequeño que, por ejemplo, los idiomas chino, japonés, cirílico o incluso romance que usan caracteres latinos acentuados.
  • El alfabeto inglés, en gran parte debido a su falta completa de caracteres acentuados, es muy claro visualmente. Tenemos suficientes errores debido a paréntesis que no coinciden o que faltan punto y coma, sería una tontería agregar problemas entre 'ē', 'ĕ' y 'ě'.
respondido por el HedgeMage 04.11.2010 - 16:55
1

Para leer un poco sobre el contexto del lenguaje y cómo terminamos de asimilar las cosas:

Stuff of Thought por Steven Pinker

Recuerde, estamos hablando de la construcción del lenguaje, no de cómo comunicamos la información (no una en el mismo), he trabajado con el código donde el idioma principal de las variables estaba en alemán (el código no era menos fácil de entender). El inglés no tiene inherentemente nada que se adapte mejor a la programación, si nos vamos directamente de cómo está estructurado nuestro idioma, es probable que peor no sea mejor, y esto podría ser, honestamente, por muchas razones:

  1. Falta de estructura (podemos poner sujeto / predicado / sustantivos / adjetivos donde nos plazca),
  2. Mutabilidad de nuestras palabras (sentimos que podemos abreviar CUALQUIER COSA)
  3. BIG ONE: alguien que sabe inglés con fluidez no entenderá mejor una sección de código que alguien que no entiende el idioma inglés.

Preguntar por qué los lenguajes de programación usan "inglés" es como preguntar por qué la tabla periódica todavía tiene la letra 'W' que identifica a Tungsten, la mayoría de las personas no pueden decir por qué a menos que conozcan el historial. Y si desea conocer el historial de lenguajes de programación, deberíamos volver a las tarjetas perforadas, las instrucciones de bytes y el ensamblaje.

El ensamblaje no tiene construcciones importantes en "inglés", pero es lo más cercano al código de máquina sin odiarse. Además, todos los elementos estructurales de los lenguajes de nivel superior pueden y son implementados regularmente por aquellos de nosotros lo suficientemente locos para disfrutarlo. LD, MV, ST, BRA y el resto del conjunto de instrucciones no se parecen en nada al inglés, pero puedo leerlo perfectamente y obtener el significado completo.

Asignamos el mismo significado de LD o MV en ensamblajes a construcciones de nivel superior, no necesito saber lo que significa una variable, y en muchos casos no lo haré si está en inglés de todos modos debido al # 2 en mi lista. El conjunto de identificadores como int, str, enum, y tal es una manera de decir con qué estás trabajando, no más. Si en lugar de int el identificador fuera gaviota , todos sabríamos qué significaba gaviota en un contexto de codificación, no porque sea inglés, pero eso es lo que cubre el identificador.

TL; DR: Los lenguajes de programación, como cualquier otro lenguaje, necesitan capacitación para comprender. La razón por la que sus comandos están en inglés en lugar de en español o en alemán o ruso es más que probable que sea esotérica e histórica que por alguna construcción necesaria de que el idioma inglés sea más o menos adecuado para los identificadores en la construcción del lenguaje formal.

    
respondido por el Jeff Langemeier 01.02.2013 - 21:42

Lea otras preguntas en las etiquetas