En lo que a mí respecta, esto es puramente por razones de marketing . Y además, puede hacernos la vida más difícil.
Los argumentos de marketing.
¿Conoces estas listas locas de características que la mayoría de los idiomas presumen? Es bastante inútil en general, porque está tan lejos del lenguaje que no proporciona mucha información específica, pero permite vestir rápidamente las mesas con ticks y cruces y concluir con razón que, dado que X tiene más ticks que Y, debe se mejor
Bueno, el soporte Unicode para los identificadores es una de esas líneas. No importa que, en comparación con el soporte de Lambda, el soporte de programación genérica, etc., puede que no sea mucho, a las personas que dibujan las tablas no les importa la calidad de cada línea, solo el número de ellas.
Y así pueden jactarse: "¡Ah, con Y no tienes soporte Unicode para tus identificadores! ¡En X sí, así que para los estudiantes es mucho más fácil!"
La falacia de la accesibilidad
Desafortunadamente, el argumento de accesibilidad es falaz.
Oh, entiendo que poder escribir "résultatDuJetDeDé" en lugar de "diceThrowResult" (sí, soy francés) puede parecer una victoria a corto plazo ... ¡sin embargo, hay inconvenientes!
La programación se trata de comunicar
Su programa no solo está destinado al compilador (que podría importarle menos los identificadores que utiliza), sino también a sus compañeros. Necesitan poder leerlo y comprenderlo.
- leerlo implica poder visualizar los caracteres que usó, Unicode no es tan compatible con todas las fuentes
- entenderlo significa confiar en los identificadores, a menos que los complemente con comentarios largos, pero eso está violando la regla DRY.
Por supuesto, su compañero de clase puede hablar el mismo idioma que usted (no es obvio, tuve clases de programación con alemanes, españoles, libaneses y chinos), y también su maestro ... pero suponga que de alguna manera está trabajando en casa y de repente necesita ayuda: Internet es genial, puede hablar con miles de miles de personas que conocen la solución, solo responderán si entienden su pregunta. Y también necesitas entender su respuesta.
La programación requiere comprensión
La accesibilidad y la iniciación requieren basarse en las bibliotecas para hacer el trabajo pesado por usted: no desea reinventar una capa de E / S para leer / escribir en la consola en su primera asignación.
- ¿En qué idioma se escriben esas bibliotecas?
- ¿En qué idioma están documentadas esas bibliotecas?
Si contesta árabe marroquí, me sorprenderé.
A menos que solo confíe en las conferencias a las que asiste, y que presenten documentación exhaustiva sobre cada función de biblioteca que necesitará usar (y tal vez incluso bibliotecas traducidas), tendrá que aprender un poco del idioma inglés. Pero entonces, probablemente ya lo hiciste mucho antes de comenzar este curso de programación de todos modos.
Inglés es...
... la lengua franca de los programadores (y la mayoría de los científicos).
Cuanto antes lo admita y lo acepte en lugar de luchar contra él, antes podrá uno realmente aprender y progresar.
Algunos inevitablemente se levantarán en contra de esto, y defenderán con razón su derecho a hablar el idioma de su elección (su idioma materno generalmente), sin embargo, como Babel demostró, cuantos más idiomas se usan, más difícil es la comunicación.
Todavía...
Sí, como se ha argumentado una y otra vez, algunos soportes Unicode (principalmente símbolos) pueden facilitar enormemente la comprensión para las personas que tienen que traducir fórmulas matemáticas o físicas, por ejemplo, en código. Existe el inconveniente de que algunos símbolos están sobrecargados, pero aún podría ayudar.
Entonces por qué ?
Bueno, como se dijo, no se trata realmente de la conveniencia del usuario, sino de las afirmaciones de marketing. También es muy fácil, ya que el analizador ya conoce Unicode para cadenas y comentarios de todos modos, por lo que la mayoría da el salto.
Y puede haber un beneficio para ciertos usuarios.
Pero personalmente solo trataré con código escrito con identificadores en inglés. No me importa si necesita mi ayuda con su código o si su biblioteca es simplemente increíble y podría ganar mucho si la uso: si no puedo entenderlo, tendré que ignorarlo.