¡Si! ¡Si! ¡Si! Tiene mucho sentido hacer eso. Y lo he estado haciendo por años.
Divulgación 1: el inglés no es mi lengua materna.
Divulgación 2: mi conocimiento de la gramática inglesa es considerablemente mejor que el del hablante nativo promedio.
Divulgación 3: cuando se trata de comunicarse con los humanos, soy una gramática vehemente nazi.
Y ahora que estas revelaciones están fuera del camino, permítanme decir que la gramática inglesa no tiene lugar en el código. Verá, por eso se llama código y no prosa . Se supone que tiene cierta semejanza con un lenguaje entendido por los humanos, con el propósito de facilitar la lectura, pero aparte de eso, lo que más necesitamos del código no son las cualidades de la prosa; son otras cualidades más técnicas, como precisión , inequívoca y brevedad . Es por eso que la sintaxis C de if( x != y ) y++;
es mucho más preferible que la IF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
sintaxis de Cobol. La supuesta conveniencia de compiladores que entienden el lenguaje natural es una falacia, y no creas en mi palabra, mira lo que ol'Edsger tiene que decir al respecto:Edsger W. Dijkstra, Sobre la necedad de la "programación del lenguaje natural" .
Otra cualidad que es importante es la computabilidad de los identificadores . El hecho de que una propiedad llamada Color
siempre se pueda leer a través de un método llamado getColor()
y escrito a través de un método llamado setColor()
es de suma importancia. Estos identificadores son computables a partir del nombre de la propiedad, por lo que no tiene que saberlos de memoria. Si un programador eligiera un par de métodos llamados getColor()
por un lado, pero colorize()
por otro lado, sus colegas considerarían legítimamente este sabotaje. Así de importante es la computabilidad del identificador.
Además, se pueden escribir herramientas de programación (y muchas de ellas se han escrito, por ejemplo, Hibernate ) que pueden calcular estos nombres. Sin la computabilidad del nombre del identificador, tendría que usar una sintaxis adicional (por ejemplo, en Hibernate, anotaciones adicionales) para especificar con precisión a cada herramienta cómo crear cada nombre de identificador o qué nombre ad hoc le ha dado a cada entidad.
Por lo tanto, la computabilidad del identificador es importante, mientras que al mismo tiempo la gramática inglesa es irrelevante (ya que no estamos haciendo programación en lenguaje natural) para poder calcular el nombre de una colección de entidades agregando siempre "s" al nombre de una sola instancia tiene mucho sentido, no importa el hecho de que viola la sensibilidad del idioma inglés de la mayoría de las personas (incluido el mío).
Y nos guste o no, esta es la tendencia del futuro. El idioma nativo de la mayoría de los programadores en el planeta ya no es el inglés, y la tendencia es continuar muy fuerte en esta dirección. (Además, ni siquiera estaría dispuesto a apostar dinero en la sugerencia de que el inglés es el idioma nativo de la mayoría de los programadores que trabajan en los Estados Unidos en este momento). Estas son personas que, en gran medida, cuando intentan calcular el nombre de una colección del nombre de una sola instancia de "empresa", simplemente agregará una "s", y la forma "empresas" ni siquiera se les pasará por la cabeza. Para un gran porcentaje cada vez mayor de programadores en el mundo, el conocimiento de las peculiaridades del idioma inglés no agrega ningún valor a su trabajo, solo lo hace un poco más difícil.