Los ordenadores, ya sean PC domésticos, modernos móviles u ordenadores para la industria o la ciencia, trabajan con un sistema binario: encendido/apagado, cargado/no cargado, 1/0. Una secuencia de estados (bits) indica al ordenador lo que tiene que hacer. Mientras que en los comienzos de la tecnología informática se creaban comandos con estas dos condiciones, hace tiempo que se ha pasado a escribir aplicaciones en un lenguaje de programación legible por los humanos. Esto puede sonar un poco raro a priori, pues para los profanos en la materia un código fuente es más un galimatías que otra cosa.
En este contexto, “legible por los humanos” es antónimo de “legible por las máquinas“. Mientras que los ordenadores solo trabajan con valores numéricos, las personas utilizamos palabras para comunicarnos. Al igual que las lenguas extranjeras, los lenguajes de programación también tienen que aprenderse antes de utilizarse.
Diversos lenguajes de programación
Hay cientos de lenguajes de programación diferentes y no se puede decir per se que unos sean mejores que otros, pues esto depende del contexto del proyecto y de la aplicación para la que se use el código fuente. Entre los lenguajes de programación más conocidos se encuentran:
- BASIC
- Java
- C
- C++
- Pascal
- Python
- PHP
- JavaScript
Para que los ordenadores puedan comprenderlos, estos deben traducirse al código de máquina.
Compilador e intérprete
Para que los ordenadores puedan procesar el texto fuente creado por los programadores tiene que haber un traductor entre ambos en forma de programa adicional. Esta aplicación auxiliar puede presentarse como compilador o como intérprete:
- Compilador: este tipo de aplicación traduce (compila) el código fuente en un código que el procesador puede comprender y ejecutar. Este código de máquina se almacena en forma de archivo ejecutable.
- Intérprete: un intérprete traduce el código fuente línea a línea y lo ejecuta directamente. El proceso de traducción funciona mucho más rápido que en un compilador, pero la ejecución es más lenta y se necesita una gran cantidad de memoria.
Con todo, la elección de uno u otro no es libre, pues es el el lenguaje de programación el que determina si debe utilizarse un compilador o un intérprete, aunque hoy en día cada vez es más frecuente recurrir a una solución provisional: just-in-time (JIT) compilation, en españolcompilación en tiempo de ejecución. Este tipo de traducción intenta combinar las ventajas de ambos programas (análisis y ejecución rápidos) y se emplea, por ejemplo, en los navegadores para gestionar JavaScript, PHP o Java más eficazmente.
Lenguajes de marcado
El texto fuente también es el término utilizado para definir la estructura básica de una página web. Sin embargo, esta no se basa en un lenguaje de programación, sino en el lenguaje de marcado HTML. Un lenguaje de marcado establece la manera en que se estructuran los contenidos. Así, por ejemplo, HTML permite definir encabezados, párrafos o resaltes. Un documento HTML no es en sí un programa, pero puede incluir alguno en forma de código JavaScript, lo que también se aplica a otros lenguajes de marcado como XML.