¿Cómo logramos que las máquinas nos entiendan?

Lenguajes de programación interpretados, compilados e híbridos.

Uno de los conceptos clave de la tecnología es la «programación«, que consiste, resumiendo, en crear un código que la máquina entienda para que esta pueda devolvernos una respuesta, programar consiste en comunicarnos con una máquina.

Pero…¿Cómo podemos hacerlo? es aquí donde entran los lenguajes de programación de los que todos hemos oído hablar alguna vez, los conozcamos más o menos, hablamos de java, de C, de python…y una muy larga (y creciente) lista.

Tenemos por tanto una máquina y un programador capaz de usar un lenguaje de programación, pero faltan un par de elementos vitales para que la comunicación sea efectiva, una máquina no entiende la sintaxis de un lenguaje de programación, es necesario que esta sea traducida a lenguaje máquina en algún punto, esta es la tarea de los compiladores.

Un compilador es capaz de transformar el programa creado (código fuente) en lenguaje máquina, el cual representa un conjunto de acciones ordenadas (algoritmo) que la máquina debe realizar.

Una máquina es un circuito microprogramable, el cual se basa en un sistema digital de únicamente dos valores posibles, el conocido lenguaje binario (aplicable también a autómatas), los lenguajes máquina depende de la propia arquitectura de la máquina, lo que provoca que no todos los programas sean interpretables por todas las máquinas.

Un compilador también puede transformar el programa en un lenguaje intermedio como «bytecode» o incluso texto plano.

Esquema de funcionamiento de un compilador.

Existe también el concepto de intérprete, su función es la de interpretar el código fuente y transcribirlo a un lenguaje intermedio no sujeto a las definiciones de arquitectura de las máquinas, como sucede en el caso de los compiladores, esto permite que un programa sea ejecutado en diferentes máquinas ofreciendo el mismo resultado, un ejemplo de ello es php, python… y es esta la peculiaridad que le permite ser considerados multiplataforma.

Los lenguajes interpretados son, en general, mucho más lentos que los compilados.

Los intérpretes son más lentos que los compiladores dado que compilan las ordenes una a una y las van mostrando en tiempo de ejecución, un ejemplo de entorno que usa intérpretes son los navegadores web.

Como curiosidad, existe un tercer tipo de lenguajes, híbrido entre compilados e interpretados, es el caso del lenguaje Java.

¿Te ha resultado útil?

Promedio de puntuación 0 / 5. Recuento de votos: 0

Deja una respuesta