Por qué se debe programar en inglés

Yo: En qué lenguaje programáis en clase?
Estudiante de FP: Programamos en Español...
Yo: No...me refiero a que lenguaje de programación
Estudiante de FP: Ah! programamos en HTML

Chistes aparte (aunque está basado en un hecho real, como en las pelis), en este artículo, cambiando un poco la temática que vengo trayendo, voy a hablar un poco de programación.

A medida que voy viendo dudas en foros de desarrollo web, artículos en blogs, etc. puedo ver como prácticamente todo el mundo programa en su lenguaje natal, en este caso, el español.
A priori, puede parecer bastante normal que programemos expresándonos en nuestro lenguaje, pero las ventajas son nulas con respecto al inglés.

¿Por qué programar en español?

  • Por que es mi lenguaje natal y es con el que me expreso día a día.

 

¿Por qué programar en inglés?

  • En el español existen palabras que usan tildes y ñ, las cuales, no pueden ser usadas. Además, la gran mayoría de palabras en inglés son más cortas que en español. Esto no nos ayudará totalmente a seguir la premisa de jQuery (que también); Write less, do more. Sino que nuestros códigos ocuparán menos y estarán correctamente escritos.
    Ejemplo: $size vs $tamano o $ask vs $preguntar y cuanto menos, de los más feos (y tan usado) $year vs $ano
  • Aunque el español es un lenguaje muy rico, no lo es para el ámbito tecnológico como puede ser el inglés por cuestiones obvias. A veces, las traducciones que hacemos no son totalmente exactas pues no existe la palabra adecuada ni precisa en nuestro idioma.
    Ejemplos: la palabra command, mal traducida como comando, significa orden, instrucción, mandato.
    Otros ejemplos lo pueden ver con indexar, palabra que no existe en español (en todo caso sería indizar). También pasa con library, support, topic, script, shell, etc. entre otros muchos términos.
    Sabían que originalmente la palabra server significaba camarero en vez de servidor?
  • Existen abreviaturas en inglés perfectamente definidas y conocidas por cualquier programador que no existen en español, tales como char (carácter), int (entero) u opt (opción).
  • Nunca se sabe con quien ni para quien vas a programar. Debes ser consciente de que si llegas a trabajar con una persona que no hable español, tu código de programación (así como comentarios) van a ser indescifrables. De hecho, si no programas en inglés, probablemente no podrás entrar en dicho equipo.
  • A veces algunos lenguajes/librerías (véase el framework jQuery) no tienen documentación en versión español como pueda tenerlo PHP. La familiarización con el inglés en estos aspectos hará que entendamos mucho mejor esta documentación escrita en inglés.
  • La gran mayoría (por no decir casi todos) los lenguajes de programación están desarrollados en inglés. Si no mezclamos idiomas, el código quedará más limpio y entendible.
  • Si estás aprendiendo a programar y te surgen dudas, tendrás accesible un mayor número de programadores en foros que podrán ayudarte.
  • Por último, como diría un amigo mio, cuando programas en inglés das la sensación de que eres un buen programador :P

 

El problema no solo radica en el lenguaje usado, sino también en la manera de llamar a las variables de una manera tan poco metodológica.
Como por ejemplo:

function opciones($quehacer){
//Contenido de la función
}

Este tipo de nombres de funciones y variables (en este caso parámetro de la función) pueden estar bien en el momento en el que un profesor enseña al alumno distintos conceptos de programación. Sin embargo, no podemos mantenernos una vez terminado el aprendizaje definiendo las variables y funciones de esta forma.

Volvemos al tema del idioma junto a una mala definición de variables.
$firstChar vs $caracuno
Os prometo que he visto una variable llamada $caracuno para referirse a carácter uno/primer carácter. Casi me da un síncope.

Siempre se debe seguir unos patrones para definir variables, constantes, funciones, clases, archivos, directorios, etc. para una correcta programación.
No puede existir un buen desarrollo de una aplicación medianamente grande, con una buena arquitectura, definiendo variables con $caracuno, $dato1/$dato2 (y sucesivos), $gusta/$gustano, o definiendo variables cada vez con un patrón distinto $miDato/$MiDato/$mi_dato

¿Y si no sé inglés?
Es normal pensar que si tu lenguaje nativo es el español y no te manejas muy bien en inglés pienses que será un esfuerzo extra a la  hora de programar.
Sin embargo, no es necesario hablar inglés para programar en inglés. Incluso a la hora de comentar, nos daremos cuenta que es más fácil de lo que pensábamos. Hablamos de un inglés técnico, en el que cualquier programador conoce términos como string, data, file, get, name, change, object o result.

Es por ello, que os aseguro que si empezáis a incluir el inglés en vuestros códigos, en un pequeño tiempo lo leeréis con soltura y os será más cómodo incluso que cuando lo hacíais en español. Garantizado ;-)

Rubén Ruiz

This entry was posted in Sin categoría. Bookmark the permalink.

8 Responses to Por qué se debe programar en inglés

  1. totobycrg says:

    pues como decía mi ex-jefe (francés), una de las buenas costumbres es programar y comentar en inglés, ya que es un lenguaje más universal que el español, y por expericiencia propia en mis diferentes trabajos, nunca sabes si solamente vas a trabajar con gente que habla español, o frances o inglés ó gente de paises como la india donde llegan por ejemplo aquí a México pero solo hablan su idioma natal e inglés, entonces concuerdo contigo, aunque citando como inicia el documento, creo que cabe aclarar que armar un documento con etiquetas de HTML no es saber programar, ya que HTML no es un lenguaje de programación.

    • Ruben says:

      Gracias por comentar.

      Quizás este post no vaya destinado a aquellos que no hagan más allá de un sitio web corporativo para terceras empresas, sino para todos aquellos que se dedican (o tienen pretensiones) de hacer proyectos más grandes y elaborados, donde por cuestiones que cité en el post (y tu mismo has dicho), programar en español es objetivamente un atraso.

      El primer fragmento es una conversación real con un conocido y lo he colocado como si fuera pseudo chiste, en primer lugar porque cuando tu le preguntas a alguien en que lenguaje programa se referirá al lenguaje de programación (y no si es inglés, chino o polaco) y en segundo lugar, “el programamos en HTML” es por que muchas personas (profesores inclusive) creen que el HTML es un lenguaje de programación, cuando no es así.

      Un saludo

  2. andrexsos17 says:

    Buen post y validos tus motivos, aunque me considero Pésimo en ingles también se que es de vital importancia hablar totalmente en ingles a no ser que se indique lo contrario :) Saludos!!

  3. Pingback: ARTICULO Por que debe programar en ingl | FOROS VIP

  4. Cabot says:

    Una aseveración completamente tirada de los pelos. Con ejemplos ad hoc que intentan justificarla, podría darte varios en un sentido contrario

  5. Pingback: ARTICULO Por que debe programar en ingl

  6. caracasoft says:

    Desde hace rato vengo siguiendo este tema, es muy interesante comparar opiniones, pero cada vez que vuelvo veo que las opiniones contrarias desaparecen. asi que estoy empezando a dudar.

  7. fpero de la vieja escuela says:

    Me ha gustado tu artículo, pero el chiste es tosco (por especificar el tipo de estudiante), además que fácilmente te encuentro otros profesionales no salidos de FP sino de carrera PEORES.

    Lo del inglés ciertamente es aconsejable, yo lo intento pero termino mezclando palabras en inglés y en español (cuando no suenan mal ;) ). Además con la metodología de primera palabra en minúscula, segunda palabra junta (si la hay) con la primera letra mayúscula…

    También poner un ejemplo para fortalecer la entrada de Cabot sobre que se puede argumentar a la inversa (mejor en español que en inglés):

    $primerCaracter no suena mal ni es ininteligible como $caracuno (en inglés sería $chaone) ;) .

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>