Site hosted by Angelfire.com: Build your free website today!

Lenguajes compilados

Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambien tiene que traducirse a un codigo que pueda utilizar la maquina. Los programas traductores que pueden realizar esta operacion se llaman compiladores. Estos, como los programas ensambladores avanzados, pueden generar muchas lineas de codigo de maquina por cada proposicion del programa fuente. Se requiere una corrida de compilacion antes de procesar los datos de un problema.

Los compiladores son aquellos cuya funcion es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje maquina con codigo binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el codigo
                                    

                                                       Lenguajes interpretados

Se puede tambien utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el codigo objeto que se produce durante la corrida de compilacion para utilizarlo en una corrida de produccion futura, el programador solo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuacion, un programa interprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la maquina, convierte cada proposicion del programa fuente en lenguaje de maquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el codigo objeto para utilizarlo posteriormente.

La siguiente vez que se utilice una instruccion, se le debe interpretar otra vez y traducir a lenguaje maquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instruccion del ciclo tendra que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea mas lento en tiempo de ejecucion (porque se va revisando el codigo en tiempo de ejecucion) pero mas rapido en tiempo de diseno (porque no se tiene que estar compilando a cada momento el codigo completo). El interprete elimina la necesidad de realizar una corrida de compilacion despues de cada modificacion del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelacion debera ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de produccion.

                                   

<---Atras