«No existe un número limitado de lenguajes informáticos»
Bárbara Álvarez Torres. Catedrática del área de Lenguajes y Sistemas Informáticos de la Universidad Politécnica de Cartagena
En el mundo, se estima, que existen más de 7.000 idiomas distintos, además, hay otros tipos de lenguaje que permiten al ser humano expresar sus pensamientos a través de la palabra. Por mencionar algunos de los más conocidos: el braille (utilizado por personas invidentes) o el de signos (usado por quienes tienen carencias auditivas).
Pero con la llegada de las nuevas tecnologías esta forma de comunicación no fue suficiente e hicieron su aparición los lenguajes informáticos. En pocas palabras: aquellos que entienden los ordenadores y que les sirve a los programadores para transmitirles las órdenes que tienen que ejecutar.
Su desarrollo va de la mano. Por poner un ejemplo, se puede decir que actualmente se utilizan lenguajes para programar muchas aplicaciones para móviles que no existían hasta hace pocos años como Objective C o Swift. Ocurre lo mismo con la computación en la nube, que ha llevado recientemente a tener que ofrecer servicios a través de Internet y como consecuencia ha dado lugar a otras formas de acceder a la información y por tanto a otros lenguajes tales como JavaScript o Ruby.
Bárbara Álvarez Torres es catedrática del área de Lenguajes y Sistemas Informáticos de la Universidad Politécnica de Cartagena y para todos aquellos que estén interesados en conocer cuáles son los lenguajes informáticos que cuentan con mayor popularidad entre los programadores cualificados en todo el mundo, recomienda consultar en Internet el índice TIOBE, «un indicador de popularidad que se actualiza una vez al mes durante los últimos veinte años», dice.
–Hablar de lenguaje informático no es solamente hacerlo de aquel que se emplea para programar sino que hay más tipos, ¿no?
–Efectivamente, hay muchos lenguajes informáticos, quizás los más extendidos sean los lenguajes de programación de alto nivel que es el medio que se utiliza para crear un programa, es decir, para decirle al ordenador lo que tiene que hacer y cómo lo tiene que hacer. Pero hay más tipos de lenguajes informáticos, por ejemplo, los lenguajes de especificación para modelar o describir lo que posteriormente deberá hacer un programa ya escrito en un lenguaje de programación, los lenguajes de consulta para acceder o consultar información en bases de datos, los lenguajes de marcas para describir el formato o estructura de documentos, etc. Todos ellos nos permiten desarrollar software para comunicarle a un ordenador que haga una determinada labor, pero esta labor la podrá realizar porque hay una circuitería electrónica o hardware que realiza estas labores, la cual por cierto solo entiende de señales eléctricas.
–¿Se puede comparar el aprendizaje de un idioma con el de un lenguaje informático?
–A mi parecer no se puede comparar, tienen problemáticas muy diferentes. En el aprendizaje de un idioma hay una componente auditiva y de pronunciación que no lo tienes a la hora de aprender un lenguaje informático. Eso no quiere decir que aprender lenguajes informáticos sea más fácil ni más difícil, creo que depende de las habilidades de la persona y de su aprendizaje. Se pueden tener cualidades para hablar muchos idiomas y no disponer de las habilidades para saber utilizar un lenguaje informático y al revés, se pueden ser un excelente programador y solo conocer tu lengua materna. Hablando de idiomas, sí que hay que decir que el léxico de los lenguajes informáticos es en su mayoría inglés. Digamos que, al aprender un lenguaje informático, por ejemplo, de programación, vamos a aprender vocabulario en inglés.
–¿Son universales? Es decir, el que aprende a programar en España también sabe hacerlo, por ejemplo, ¿en China?
–Si, por supuesto que son universales. El léxico y la sintaxis de un lenguaje de programación es propio de dicho lenguaje y se utiliza igual en cualquier país. Esto no quiere decir que un programa escrito en un lenguaje de los que se utilizan habitualmente para programar vaya a funcionar en todos los ordenadores del mundo ya que cada tipo de computadora u ordenador tiene su propio procesador, el cual solo entiende su propio lenguaje máquina, digamos que solo entiende su 'lengua materna'. Este lenguaje máquina de cada tipo o modelo de procesador no deja de ser otro lenguaje informático, pero mucho más tedioso de aprender porque trabajan a un nivel muy cercano al hardware y no valen para otro tipo de máquina. Por tanto, todos los programas escritos en lenguajes como Java, Python, C, etc... por citar los más utilizados, son válidos en todo el mundo, pero tienen que ser traducidos al lenguaje máquina que entiende cada procesador. Y esto lo hacen otros programas que son traductores, conocidos como compiladores o intérpretes en términos informáticos. Pero éstos los desarrollan otros programadores, no nos tiene que preocupar de momento para aprender a programar.
–¿Aprender un lenguaje informático requiere de otras destrezas?, por ejemplo, saber matemáticas.
–Saber matemáticas es otra habilidad que por supuesto facilita el aprendizaje, pero no es una necesidad en principio. Por ejemplo, si desarrollamos programas más complejos para realizar análisis sobre datos de tipo estadístico pues si necesitaríamos conocer las funciones matemáticas necesarias para poder escribirlas en un lenguaje informático. Pero se trataría ya de algo más específico y avanzado. Al igual que si tenemos que programar un sistema de control de un dispositivo físico tendremos que entender cómo funciona. Es decir, que depende de lo que se programe. Evidentemente, siempre hay que tener conocimiento de cómo tiene que funcionar el software que vamos a desarrollar.
Hay otras destrezas que se deben poner en práctica desde el principio del aprendizaje, algunas tan sencillas como ser ordenado, organizar bien las instrucciones que le transmitimos al ordenador e introducir comentarios para que otros entiendan lo que hemos hecho y puedan mantenerlo, extenderlo o reutilizarlo.
–¿Existe un número limitado de lenguajes informáticos o surgen nuevos, periódicamente?
–No. Precisamente porque estos lenguajes están asociados a la evolución de las nuevas tecnologías no están limitados, e incluso surgirán nuevos tipos. El cuándo surgirá nos lo dirá la evolución de las tecnologías. No es algo periódico, aunque si es verdad que determinadas compañías actualizan sus lenguajes informáticos sacando nuevas versiones de una manera si no periódica cada poco tiempo.