COMPILADOR:
Es un programa que traduce los programas escritos en lenguajes de alto nivel a lenguaje máquina.
Los programas escritos en lenguajes de alto nivel se llaman programas fuente y El programa traducido se llama programa objeto.
El compilador traduce sentencia a sentencia el programa fuente.
Algunos lenguajes compiladores típicos son:
C
C++
Pascal
FORTRAN
COBOL
INTERPRETES:
Un intérprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta.
Los programas interpretes clásicos son:
BASIC
QBASIC
QUICKBASIC
VISUALBASIC
SMALLTALK
JAVA
Tipos de Lenguajes
Ventajas de los Compiladores:
- Produce un código optimizado.
- La ejecución del programa objeto es mucho mas rápida que si se interpreta el programa fuente.
- El compilador tiene una visión global del programa, por lo que la información de mensajes de error es más detallada.
- Se debe ejecutar muchas veces el código fuente para ver los cambios en el resultado.
- Mayor consumo de memoria.
Ventajas de los Interpretes
- Su principal ventaja es que permiten una fácil depuración. Permiten una mayor interactividad con el código en tiempo de desarrollo.
- En algunos lenguajes (Smalltalk, Prolog, LISP) está permitido y es frecuente añadir código según se ejecuta otro código, y esta característica solamente es posible implementarla en un intérprete.
- Puede ser interrumpido con facilidad.
- Puede ser rápidamente modificado y ejecutado nuevamente.
- Un Intérprete necesita menos memoria que un compilador.
- Facilita la búsqueda de errores.
- En algunos lenguajes está permitido añadir código según se ejecuta otro código.
- Menor consumo de memoria.
- Lentitud de ejecución, ya que al ejecutar a la vez que se traduce no puede aplicarse un alto grado de optimización.
- Cada instrucción debe ser traducida a código máquina tantas veces como sea ejecutada
- Durante la ejecución, el intérprete debe residir en memoria ya que no genera código objeto.
