El idioma en el que está escrito originalmente un programa de ordenador es el idioma de origen.
El lenguaje fuente generalmente se refiere al lenguaje utilizado para escribir programas fuente que deben traducirse al lenguaje de máquina antes de poder usarse en las computadoras.
La segmentación es un método para introducir el idioma de destino mediante el uso de un idioma específico.
El lenguaje intermedio (código intermedio) es el código de representación interna equivalente del programa fuente, orientado a la gramática y fácil de traducir al programa de destino.
Su comprensibilidad y facilidad para generar código de destino se encuentran en algún punto entre el idioma de origen y el idioma de destino.
:
Tanto los lenguajes simbólicos como los lenguajes de alto nivel requieren de un programa de traducción que los traduzca al lenguaje de máquina.
Un programa que traduce un lenguaje simbólico se denomina ensamblador o ensamblador simbólico.
Para un ensamblador, la entrada es un programa en lenguaje simbólico y la salida es un programa en lenguaje de máquina.
La traducción es relativamente sencilla y la tarea principal es sustituir los símbolos por códigos de máquina.
Un programa que traduce un lenguaje de alto nivel se llama compilador.
Para un compilador, la entrada es un programa en lenguaje de alto nivel y la salida es un programa en lenguaje de máquina.
Para los lenguajes de alto nivel, no se corresponden uno a uno con los lenguajes de máquina.
El lenguaje de máquina generado por el compilador tiene una correspondencia uno a uno con el lenguaje de alto nivel, es decir, cada declaración en el lenguaje de alto nivel es equivalente a múltiples instrucciones de máquina.
Ya sea un ensamblador o un compilador, hay un programa de entrada y un programa de salida.
Este programa de entrada se denomina programa fuente y el idioma utilizado como entrada se denomina idioma fuente.
Para un ensamblador, el programa fuente es un programa en lenguaje simbólico; para un compilador, el programa fuente es un programa en lenguaje de alto nivel.