Autor Tema: Cuando un programa no admite la letra "ñ", ¿cómo se escribiría una variable?

0 Usuarios y 2 Visitantes están viendo este tema.

12 Marzo, 2019, 11:13 am
Leído 12420 veces

manooooh

  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 4,791
  • País: ar
  • Karma: +1/-0
  • Sexo: Masculino
Hola!

Leyendo unos apuntes del usuario Carlos Ivorra, en la página 15 aparece el nombre de un conjunto: \( \mathrm{Anyo} \) (quiero entender que se refiere a \( \mathrm{Año} \)).

Como es habitual, los programas no están aptos nativamente para incluir la letra "ñ".

Mi pregunta es que en cualquier palabra que contenga "ñ", ¿ustedes cómo la reemplazarían: por "ni" o "ny" (u otra)?

En particular, yo siempre utilicé la forma "ni", quizás porque soy más latino y prefiero la "i" latina y no la "i" griega :laugh:.

¿Ustedes tienen algún motivo objetivo por el cual decidan inclinarse hacia una u otra notación?

Gracias!
Saludos

12 Marzo, 2019, 11:46 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

¿Ustedes tienen algún motivo objetivo por el cual decidan inclinarse hacia una u otra notación?

Yo suelo usar "nh", influenciado por el gallego lusista que algunos defienden en mi tierra.

Puedes ver en la Wikipedia otras grafías que se usan en diferentes idiomas:

https://es.wikipedia.org/wiki/%C3%91#Graf%C3%ADas_equivalentes_en_otros_idiomas

Saludos.

P.D. Buscar un motivo puramente objetivo me parece lanzarse una vez más contra molinos de viento...

12 Marzo, 2019, 12:15 pm
Respuesta #2

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 12,032
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola!

Leyendo unos apuntes del usuario Carlos Ivorra, en la página 15 aparece el nombre de un conjunto: \( \mathrm{Anyo} \) (quiero entender que se refiere a \( \mathrm{Año} \)).

Como es habitual, los programas no están aptos nativamente para incluir la letra "ñ".

Mi pregunta es que en cualquier palabra que contenga "ñ", ¿ustedes cómo la reemplazarían: por "ni" o "ny" (u otra)?

En particular, yo siempre utilicé la forma "ni", quizás porque soy más latino y prefiero la "i" latina y no la "i" griega :laugh:.

¿Ustedes tienen algún motivo objetivo por el cual decidan inclinarse hacia una u otra notación?

Gracias!
Saludos

Hola otra vez. Manooooh.

Quizá es más frecuente con “y”, aunque tampoco se podría decir que estuviera mal con “i”.

El rabillo de la “ñ” parece ser un vestigio de las abreviaturas que antiguamente se usaban en español (y digo español, en general, porque me estoy refiriendo a un periodo que va del siglo X al XII más o menos; las diferencias en cuanto al habla eran muy pocas en las distintas regiones, era la misma legua con variaciones, una lengua que acababa de emerger del latín vulgar).

Hay muchísimos textos antiguos donde esto que te digo de las abreviaturas se puede observar, te pongo sólo una pequeñísima muestra



Ahí puedes ver, en el primer círculo rojo, la palabra “tiempos” escrita “tṕo”. Naturalmente, aunque la escribieran así (de vez en cuando, no siempre) es lógico pensar que no la pronunciaban así, porque eso es impronunciable. La frase en que está enclavada dice “Y en tiempos de aquellos...”, donde la “y” esta escrita con el “et” del latín, frase en la que también vemos abreviada la palabra “aquellos” con el mismo arco sobre la “q”.   

Más abajo también tienes la palabra “señor” con un arco largo encima sugiriendo la aparición de la “ñ” y, más en concreto aún, al final del trozo de texto tiene la palabra “año” con el mismo arco que se utiliza en las otras.

Este fragmento pertenece a la Crónica de San Juan de la Peña y, en otras partes del libro, se puede ver escrito “senyor” en vez de “señor” y también “anio o “anyo” en vez año. Del mismo modo se puede ver ya, en tras hojas del mismo documento, el rabillo de la “ñ” tal cual es, ondulado, en vez aparecer como un arco. Hay que tener en cuenta que los amanuenses (escribientes) no eran máquinas y que, además, no había una Academia todavía que impusiera unas normas fijas.

A lo largo del documento son muy numerosas las palabras que se abrevian; es muy frecuente, por ejemplo, el “do” (a veces con el arco encima y otra no) que sustituye a “dónde” y muchas cosas más. Asimismo, es frecuente la cedilla, que se usaba en toda España antes que en Francia, por ejemplo; de hecho son los franceses los que la toman de los textos españoles.

Sí es cierto que Alfonso X regula y medio “crea” lo que se da en llamar, inexactamente para mí, Castellano; lo que pasa es que, como era rey de Castilla, pues se llamó así, pero se podría haber llamado perfectamente gallego o leonés... u otra cosa; de hecho, el castellano antiguo se conserva en una gran parte gracias a que en Galicia se desvirtúa muy poco con el paso de los siglos, mientras que en otras regiones aparecen más innovaciones en cuanto a las palabras o, por lo menos, en cuanto a la forma de escribirlas.

Y, dicho esto, para mí, ya te digo, está bien de las dos formas, incluso se podría poner “agnio”, que es lo que usan los franceses para representar ese sonido.

*(no había visto la respuesta de Luis al escribir todo esto, mi opinión sobre lo que decía del galleo es independiente. Creo, no obstante, que lo de las abreviaturas era una cosa más general y no es fácil asegurar quién fue el primero en poner el rabillo a la “ñ” tal y como es hoy; sí que creo, como he dicho, que muchas de esas grafías, en gran parte, se conservan gracias a Galicia; aunque es también una opinión personal).

Saludos.

12 Marzo, 2019, 12:54 pm
Respuesta #3

martiniano

  • Moderador Global
  • Mensajes: 2,327
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Hola buenas.

¡Caramba manooooh! Vaya preguntas que te haces, amigo.

Pues no sé... Yo normalmente pongo una 'n'  y ya está. Lo que en el caso de la palabra "año" probablemente hubiese optado por la opción de Carlos por no utilizar una palabra con otro significado y otras connotaciones.

Lo del símbolo 'ny' es porque en lo que hablamos en algunas provincias mediterráneas suena igual que lo hace la 'ñ' en castellano.

Saludos.

12 Marzo, 2019, 02:03 pm
Respuesta #4

mathtruco

  • Moderador Global
  • Mensajes: 5,598
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
Es como preguntarse si lo correcto es tomar el café con o sin azúcar.

Spoiler
El café se toma espeso, oscuro y escaso, en particular, sin azúcar. Así que el que le ponga azúcar está equivocado y debiera pedir perdón y deberá acostumbrarse a no ponerle azúcar nunca más.  >:D
[cerrar]

En un programa para uso personal da exactamente lo mismo (yo uso el nh). Pero si el programa es más importante, una buena práctica es que sea lo más internacional posible, en particular los nombres de variables, funciones, comentarios... deben ser pensados en inglés, porque puede llegar un momento en que uno necesite compartirlo con alguien que no maneje el idioma de uno. Y es que un buen programa no necesita de comentarios que digan qué hace, y por eso es importante que los nombres de todo sean lo más internacional posible.

Hace unos años participé en un código de unos franceses...   fue horrible porque no entendía la razón de muchos nombres de cosas, y los comentarios no ayudaban mucho.

En resumen: evita escribir algo como año, y escribe year.

12 Marzo, 2019, 02:43 pm
Respuesta #5

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,797
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Los lenguajes de programación serios están comprometidos con la internacionalización,
así que han de admitir identificadores cuyos caracteres sean letras del alfabeto de cualquier idioma.
Averiguá si el compilador que estás usando tiene alguna opción especial que habilite identificadores Unicode o internacionalización (en realidad lo adecuado sería al revés: que la internacionalización venga por defecto).


12 Marzo, 2019, 03:04 pm
Respuesta #6

mathtruco

  • Moderador Global
  • Mensajes: 5,598
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
Los lenguajes de programación serios están comprometidos con la internacionalización,
así que han de admitir identificadores cuyos caracteres sean letras del alfabeto de cualquier idioma.
Averiguá si el compilador que estás usando tiene alguna opción especial que habilite identificadores Unicode o internacionalización (en realidad lo adecuado sería al revés: que la internacionalización venga por defecto).



Una cosa es que lo aguante, y otra que sea una buena práctica de programación.

Me imagno que no te refieres a usarlas dentro de un programa para nombrar cosas porque, por ejemplo, usar un nombre de variable que contenga la letra ç (la C-cedilla usada en portugués) induciría errores (por ejemplo ¿la variable ç1 es la misma que c1?) y dudas (por ejemplo como hacerla con mi teclado),  y eso ya es suficiente para intentar evitarlas. Por supuesto que en un programa que es sólo para uno da igual, pero en algo un poco más serio hay que evitar problemas, en particular evitar escribir caracteres que no estén en un teclado internacional.

Otro tema es querer imprimir un string que use cualquier caracter, eso sí que debe aguantarlo cualquier lenguaje de programación decente.

12 Marzo, 2019, 03:19 pm
Respuesta #7

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,797
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Los lenguajes de programación serios están comprometidos con la internacionalización,
así que han de admitir identificadores cuyos caracteres sean letras del alfabeto de cualquier idioma.
Averiguá si el compilador que estás usando tiene alguna opción especial que habilite identificadores Unicode o internacionalización (en realidad lo adecuado sería al revés: que la internacionalización venga por defecto).



Una cosa es que lo aguante, y otra que sea una buena práctica de programación.

Me imagno que no te refieres a usarlas dentro de un programa para nombrar cosas porque, por ejemplo, usar un nombre de variable que contenga la letra ç (la C-cedilla usada en portugués) induciría errores (por ejemplo ¿la variable ç1 es la misma que c1?) y dudas (por ejemplo como hacerla con mi teclado),  y eso ya es suficiente para intentar evitarlas. Por supuesto que en un programa que es sólo para uno da igual, pero en algo un poco más serio hay que evitar problemas, en particular evitar escribir caracteres que no estén en un teclado internacional.

Otro tema es querer imprimir un string que use cualquier caracter, eso sí que debe aguantarlo cualquier lenguaje de programación decente.

La internacionalización no está para que un portorriqueño defina identificadores en chino.
Pero sí que está para que un francés pueda escribir código en francés, y que un hispanoblante pueda poner una "ñ" en un identificador "año".
No creo que sea una mala práctica de programación.
De hecho, si uno quiere enseñar programación a estudiantes de secundaria, por poner un ejemplo,
no es pedagógico poner identificadores en inglés, sino en castellano, para que se entienda el propósito de las variables.

Si las necesidades mandan, uno mismo convergerá a traducir código al inglés, si hace falta en el quehacer cotidiano.


12 Marzo, 2019, 09:46 pm
Respuesta #8

mathtruco

  • Moderador Global
  • Mensajes: 5,598
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
La internacionalización no está para que un portorriqueño defina identificadores en chino.
Pero sí que está para que un francés pueda escribir código en francés, y que un hispanoblante pueda poner una "ñ" en un identificador "año".
No creo que sea una mala práctica de programación.
De hecho, si uno quiere enseñar programación a estudiantes de secundaria, por poner un ejemplo,
no es pedagógico poner identificadores en inglés, sino en castellano, para que se entienda el propósito de las variables.

Si alguien está aprendiendo programación yo prefiero decirle desde un principio que evite caracteres no internacionales por lo que mencioné antes. Incluso si uno cambia de pc a uno con teclado en otro idioma ya tendrá un problema. Por eso me parece una mala práctica,  pero concuerdo que si uno está seguro que no guardará ni compartirá su programa entonces es cosa de gustos.

Si las necesidades mandan, uno mismo convergerá a traducir código al inglés, si hace falta en el quehacer cotidiano.

Si el programa es pequeño entonces revisar y cambiar nombres será un problema pequeño, pero si el programa es más grande...

12 Marzo, 2019, 11:49 pm
Respuesta #9

Carlos Ivorra

  • Administrador
  • Mensajes: 11,956
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Leyendo unos apuntes del usuario Carlos Ivorra, en la página 15 aparece el nombre de un conjunto: \( \mathrm{Anyo} \) (quiero entender que se refiere a \( \mathrm{Año} \)).

Cualquiera que lea el problema que llega a ese programa tendrá claro que se refiere a año.

Mi pregunta es que en cualquier palabra que contenga "ñ", ¿ustedes cómo la reemplazarían: por "ni" o "ny" (u otra)?

En particular, yo siempre utilicé la forma "ni", quizás porque soy más latino y prefiero la "i" latina y no la "i" griega :laugh:.

Pero la mayoría de mis alumnos conocen el catalán de cerca o de lejos, y en catalán ny se pronuncia como la ñ en español, por lo que les resultará familiar la alternativa. En cualquier caso, cualquiera que lea eso en su contexto sabrá sin lugar a dudas que "anyo" es un sucedáneo necesario de año, aunque no sepa nada de catalán.

¿Ustedes tienen algún motivo objetivo por el cual decidan inclinarse hacia una u otra notación?

Si abro mi nevera buscando una pera y veo que no hay, ¿qué es más elegante, coger una manzana o una naranja?

Si me piden que diga un número al azar del 1 al 10, ¿qué respuesta es la más correcta desde un punto de vista estilístico? ¿Cuál es la que se prefiere en estos casos?