Definición de Lenguaje intermedio (programación)
(del inglés Intermediate language). En computación, un lenguaje intermedio es un lenguaje utilizado como paso intermedio en el proceso de traducción de un programa desde su código fuente original hasta el código máquina o archivo objeto específico de una plataforma. Este lenguaje es ejecutado por una máquina virtual o procesado por otra etapa del compilador que lo transforma finalmente en el código ejecutable para la máquina destino.
El término surge principalmente en el contexto de los compiladores, donde el proceso de compilación se divide en varias fases. El código fuente se traduce primero a un lenguaje intermedio (frecuentemente llamado bytecode), que es más fácil de analizar, optimizar y transformar que el código fuente original o el código máquina final. Por ejemplo, en Java, el compilador convierte el código fuente en bytecode, que luego es interpretado o compilado en tiempo de ejecución por la Máquina Virtual de Java (JVM).
En otros entornos, como .NET, el código fuente se convierte en Intermediate Language (IL), que es ejecutado por la Common Language Runtime (CLR). De manera similar, en el ecosistema LLVM, los distintos lenguajes fuente se traducen a una representación intermedia llamada LLVM IR, que permite aplicar optimizaciones antes de generar el código máquina específico.
El uso de lenguajes intermedios aporta varias ventajas:
Sin embargo, existen desventajas:
Ejemplo: Cuando se compila un programa Java, el resultado es un archivo .class que contiene bytecode, un lenguaje intermedio que puede ejecutarse en cualquier sistema donde exista una JVM, sin necesidad de recompilar el código fuente para cada sistema operativo.
Comparado con los lenguajes de bajo nivel como el ensamblador, el lenguaje intermedio no está vinculado a una arquitectura de hardware específica, sino que está pensado para ser portable y optimizable antes de la generación de código nativo.
Resumen: Lenguaje intermedio
En informática, un lenguaje intermedio es un lenguaje abstracto utilizado como paso intermedio en la traducción de programas de computadora. Facilita el análisis, la optimización y la portabilidad del código, permitiendo que los compiladores generen código máquina eficiente para distintas plataformas.
¿Qué diferencias existen entre un lenguaje intermedio y un lenguaje de bajo nivel?
Un lenguaje intermedio es independiente de la arquitectura de hardware y está diseñado para facilitar la portabilidad y la optimización. En cambio, un lenguaje de bajo nivel (como el ensamblador) se relaciona directamente con la arquitectura de la máquina y permite un control más directo del hardware.
¿Cuál es el propósito de un lenguaje intermedio?
El propósito principal es servir de puente entre el código fuente y el código máquina, permitiendo análisis, optimización y portabilidad antes de la generación del código ejecutable final.
¿Cuál es la importancia de un lenguaje intermedio en el proceso de compilación?
El uso de un lenguaje intermedio simplifica el diseño de compiladores, facilita la implementación de optimizaciones y permite reutilizar etapas del compilador para diferentes lenguajes de entrada y arquitecturas de salida.
¿Cuáles son algunos ejemplos de lenguajes intermedios?
¿Cómo afecta el uso de un lenguaje intermedio al rendimiento del software?
El uso de lenguajes intermedios permite aplicar optimizaciones avanzadas, lo que puede mejorar el rendimiento. Sin embargo, la ejecución sobre una máquina virtual puede introducir cierta sobrecarga, aunque técnicas como la compilación JIT pueden acercar el rendimiento al del código nativo.
¿Qué papel juega un lenguaje intermedio en la creación de aplicaciones multiplataforma?
El lenguaje intermedio permite que el mismo código fuente se ejecute en diferentes plataformas, ya que solo se requiere una máquina virtual o un compilador final específico para cada plataforma. Esto facilita el desarrollo de aplicaciones multiplataforma y reduce los costos de mantenimiento y distribución del software.
Para más información ver Bytecode.
Terminología relacionada
• Lenguaje compilado.
• Lenguaje interpretado.
Autor: Leandro Alegsa
Actualizado: 07-07-2025
¿Cómo citar este artículo?
Alegsa, Leandro. (2025). Definición de Lenguaje intermedio. Recuperado de https://www.alegsa.com.ar/Dic/lenguaje_intermedio.php