Lenguajes maquinas
El lenguaje máquina es el único que entiende la computadora digital, es su "lenguaje
natural". En él sólo se pueden utilizar dos símbolos: el cero (0) y el uno (1). Por ello, al
lenguaje máquina también se le denomina lenguaje binario. La computadora sólo puede
trabajar con bits, sin embargo, para el programador no resulta fácil escribir
instrucciones tales como:
10100010
11110011
00100010
00010010
Una dificultad añadida a los lenguajes binarios es el hecho de que son dependientes de
la máquina (o mejor dicho, del procesador), es decir, cada procesador utiliza un
lenguaje máquina distinto (un juego de instrucciones distinto) que está definido en su
propio hardware. En consecuencia, un programa escrito para un tipo de procesador no
se podrá usar en otro equipo que utilice un procesador distinto, ya que, el programa no
será portable o transportable. Para que dicho programa pueda funcionar en una
segunda computadora, habrá que traducir todas las instrucciones escritas en el lenguaje
máquina del primer equipo al lenguaje binario de la segunda computadora.
Lenguajes de bajo nivel
Los lenguajes de bajo nivel, también llamados lenguajes ensambladores, permiten
al programador escribir instrucciones de un programa usando abreviaturas del inglés,
también llamadas palabras nemotécnicas, tales como: ADD, DIV, SUB, etc. Un
programa escrito en un lenguaje ensamblador tiene el inconveniente de que no es
comprensible para la computadora, ya que, no está compuesto por ceros y unos.
Para traducir las instrucciones de un programa escrito en un lenguaje ensamblador a
instrucciones de un lenguaje máquina hay que utilizar un programa
llamado ensamblador, como se muestra en la siguiente figura:
que traducido al castellano viene a decir que: si número es mayor que cero, entonces,
escribir por pantalla el mensaje: "El número es positivo".
Ésta es la razón por la que a estos lenguajes se les considera de alto nivel, porque se
pueden utilizar palabras de muy fácil comprensión para el programador. En
contraposición, los lenguajes de bajo nivel son aquellos que están más cerca del
"entendimiento" de la máquina. Otros lenguajes de alto nivel son: Ada, BASIC,
COBOL, FORTRAN, Pascal, etc.
Otra característica importante de los lenguajes de alto nivel es que, para la mayoría de
las instrucciones de estos lenguajes, se necesitarían varias instrucciones en un
lenguaje ensamblador para indicar lo mismo. De igual forma que, la mayoría de las
instrucciones de un lenguaje ensamblador, también agrupa a varias instrucciones de
un lenguaje máquina.
Traductores
Un traductor es un programa que tiene como entrada un texto escrito en un lenguaje
(lenguaje fuente) y como salida produce un texto escrito en un lenguaje (lenguaje objeto)
que preserva el significado de origen.
Compiladores
Interpretes
Intérpretes
Un intérprete es un traductor que toma un programa fuente, lo traduce y a continuación
lo ejecuta (dicho programa por medio de la computadora desarrolla una tarea
específica).
Un lenguaje que soporte un traductor de tipo intérprete se denomina lenguaje
interpretado. BASIC es el modelo por excelencia interpretado.
Compiladores
Un compilador es un programa que traduce los programas fuente escritos en
lenguajes de alto nivel a lenguaje máquina.
Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se llaman
programas fuente y el programa traducido programa objeto o código objeto. El
compilador traduce (sentencia a sentencia) el programa Fuente.
Conclusión