Publicado hace 13 años por jorgerubira a jorgerubira.blogspot.com

En una ocasión me encontré con un proyecto en el que el responsable había decidido hacer el proyecto en inglés. La cuestión es ¿es ventajoso programar en inglés?. Con programar en inglés me refiero a declarar todos los nombres de las tablas, métodos y ciertas variables totalmente en inglés. A primera vista puede parecer una gran idea. Pero esa idea se volvió en contra del proyecto.

Comentarios

Alvarete

#3 La gente normalmente suele utilizar acrónimos ,patrones y palabras cortas que se especifican en la documentación. En la carrera enseñan reglas de estilo, que el personal se las pase por el forring es diferente lol

D

#4 Debe ser que el chaval recibió esas lecciones, pero se perdió la reunión familiar en la que repartieron el sentido común.

D

#1
- La documentación no es importante si se utilizan metodologías ágiles.
- Se puede utilizar el castellano evitando acentos y eñes.
- Pocas personas hacen software libre en relación a la gente que sabe programar. Lo que tu dices es una falacia de la doctrina linuxera. Fanboyismos no, por favor. Hay que ser realista.
- Es irrelevante como tenga Menéame los comentarios y las variables en inglés.

Alvarete

#7

- La documentación se hace estrictamente necesaria cuando llegas a un número de linea, por mucho desarrollo ágil que hagas.
- El usar un castellano sin eñes ni acentos ( ni cedillas en caso de catalán ) puede terminar creando confusión a un no hispano hablante.

- Respondes a una supuesta falacia, con un ataque y otra falacia, si vas a responder por lo menos haz el esfuerzo mental de no tumbar por tierra por topicazos. Hay que ser realista, si tu código es sólo para ti, no necesitas ni hacer documentación. Pero la legibilidad del código y la necesidad de documentación está por encima.

En GitHub hay 1 millón de proyectos publicados y en SourceForge medio millón, obviando la mayoría de paquetes de linux y sus distribuciones. Tenemos un concepto diferente de 'significativo'

- Era un ejemplo, es irrelevante para ti.

En fin, pamplinas

g

Fowler: "Cualquier tonto puede escribir código que un ordenador entiende. Los buenos programadores escriben código que los humanos"

#1,#9: Cuanto más grande sean el número de ficheros y líneas más importante son patrones y convenciones. De echo ficheros con nombres largos y con sufijos del tipo xxxxServiceFacade, xxxFactory te hacen entender rápidamente el diseño. Otra cosa serán artefactos de diseño, diagramas, etc... pero documentar código ?¿

Por otro lado, casi todos los lenguajes te obligan a usar algo de inglés luego siempre será spaninglish; a mí personalmente no me gusta ver cosas como 'if(true) return getTamanyo();'

blackpig

#1 Bastante de acuerdo. La documentación es lo más importante pero, solamente en el caso de que esté bien realizada y eso es bastante complicado en los tiempos que corren, en los que la documentación se deja para el final del proyecto en lugar de hacerla inicial o cómo mínimo documentar al ritmo que se desarrolla para evitar la pérdida de conocimiento. Simplemente hoy en día los tiempos que se corresponden a los precios que se pagan por un soft no cubren la documentación (aunque luego la exigen igualmente)

mr_b

#15 Eso se llama "notación húngara" (http://es.wikipedia.org/wiki/Notaci%C3%B3n_h%C3%BAngara) y hay que evitarlo a toda costa porque a la larga crea mayor complejidad, sobre todo cuando tienes variables con el prefijo "lpwstr" o similares.

Yo personalmente programo todo en inglés excepto la documentación (principalmente porque no se inglés). Así, si alguien no entiende mi documentación quizás entienda el código.

#1 Hay que tener bien las dos cosas: tanto la documentación como el código bien ordenado. No hay nada peor que tener documentación pero necesitar modificar el código para mejorarlo o solucionar un problema y no enterarse de nada. Además, la documentación se basa en las funciones (esta función hace tal cosa) pero cuando tienes que tocarla no vale con documentar todas las líneas porque sería contraproducente. En teoría, como sabes programar, te deberías enterar del código, y es por eso por lo que hay que hacer buen código también.

albandy

#16 Interesante, cuando hice la carrera se consideraba elegante, a mi por lo menos me va bastante bien cuando reviso el código, a la hora de picarlo me da igual ya que el propio IDE me soluciona el tema.

g

#18 Era útil para lenguajes como C o C++ donde se usan punteros explícitos con los potenciales errores de casting que conllevan si no se tiene presente el tipo

D

Lo importante es programar y no tocarse los webos como estoy haciendo yo ahora. He dicho.

HeavyBoy

Pues vaya artículo. Basícamente dice que no te creas que sabes inglés

Gelfacial

Conozco una empresa que toda la documentación que tienen la hacen en ingles, la cosa es que ningún empleado es ingles y el nivel que tienen no es tan alto como para leer esa documentación con soltura, por lo que cuando tienen que consultar ciertas cosas pierden mas tiempo traduciendo que si directamente la hacen en español.

PythonMan8

Si lo que se pretende es renunciar a contratar a extranjeros entonces español. Si somos un poco más amplios de miras y pensamos que quizás mañana podamos contratar a un experto de Rusia o India para trabajar en nuestro grupo o bien tengamos una duda y queramos publicar en un foro parte del código que nos dá problema o bien queramos tener clientes en el extranjero (donde realmente se paga por la programación sueldos decentes) entonces inglés.

albandy

Más que preocuparse por el idioma lo que hay que hacer es definir bien las especificaciones y programar pensando que no solo tú vas a editar el código.

Por ejemplo, una buena forma de definir variables es la siguiente:

String strNombrevariable = null;
Float fltNombrevariable = null;

etc ..

Si nos fijamos, el nombre de variable comienza con el tipo.
También hay que utilizar nombres de variable que sean identificativas, si tengo que definir una lista de libros por ejemplo podria ser así

List lstLibros = new ArrayList();

También hay que definir en cada cabezera de cada función lo que hace la función en cuestión, por ejemplo:

[...]

/**
*@param strData String - Cadena que se quiere imprimir
*@return void - Sin valor de retorno
*@throws Exception - En caso de que lanzara una excepción aquí se pondría indicar el tipo
*/
public static void prnEntrada(String strData)
">


[...]

Es una forma de hacerlo, ni mejor ni peor que otras, pero aclara bastante el código.

Boudleaux

variables en español, tablas y campos idem. de toda la vida vamos

AsK0S1t10

En castellano y con errores, cuando te das cuenta del patazo que has metido, está tan usada que acaba dando pereza.

En serio, queda muy "in" usar nombres in ingles, pero en muchas aplicaciones con temática específica (por ejemplo trabajo en sanidad) es mejor poner paciente, intervención (o qx), lista de espera, episodio o historia clínica que no la traducción que te da el primer diccionario que encuentras. Trabajé en un proyecto realizado entre España, Estados Unidos, Italia y Alemania. Todos menos los italianos trabajaban en ingles (a cual con términos mas surrealista para referirse a lo mismo, excepto el código americano claro está) y al final el mas legible era el italiano, ospedale, era centro en todo el código, no como el batiburrillo de traducciones que se hizo tanto aquí como en Alemania.

D

Pues que se lo digan a SAP que programan en alemán (y eso que el código es abierto).

Ejemplo en ABAP4.

---------------------------------------------------------------------
* FORM ILTAP_AUSWERTEN *
---------------------------------------------------------------------
* Interne Tabelle der Positionen durchloopen und dabei jede
* neue TA-Nummer in der RANGES-Tabelle ITANUM ablegen.
* Maximallänge ist in MAX_ITANUM einstellbar.
---------------------------------------------------------------------
FORM ILTAP_AUSWERTEN.

*........Initialisierungen..............................................

PUT_TABIX = 1. "Tabellenzähler für Ausgabe
...
...
...

b

habrá que programar en función del equipo que va a colaborar en el desarrollo.
si los programadores son españoles, argentinos, mexicanos y bolivianos, es obvio que idioma han de usar.
si los programadores son españoles, franceses, ingleses y japoneses, pues en ingles.
si los programadores son franceses y alemanes donde los 3 alemanes tienen un alto nivel de frances. pues en francés.