Compilación e Interpretación

La compilación es el proceso de traducir un programa en código fuente a programa en código objeto (que usa el lenguaje binario), el programa encargado de compilar se llama compilador.

 

La mayoria de software de programación trae su propio compilador.

 

Los lenguajes de programación se clasifican en varios tipos, los hay por nivel, y por la forma como se ejecutan.

 

Por nivel: Hay lenguajes de programación de alto nivel y lenguajes de bajo nivel. Los lenguajes de alto nivel permiten que con pocas palabras se logre hacer lo mismo que se logra con un lenguaje de bajo nivel.

 

Ejemplos de lenguajes de alto nivel: C++, Python, Java Ejemplos de lenguaje de bajo nivel: Ensamblador

 

Por la forma como se ejecutan Hay lenguajes compilados e interpretados.

 

Los lenguajes compilados necesitan de un programa especial que lea el código fuente y cree un archivo objeto (generalmente un archivo obj) el cual es leído por la computadora. La computadora no leé el código fuente, sino lee el archivo obj.

 

Los lenguajes interpretados necesitan de un programa que traduzca en directo el código fuente escrito a instrucciones de la plataforma en la que se ejecutan. Ejm: Python, Visual Basic Script.

 

Diferencias entre un programa compilado y uno interpretado.


 

Compilador        Interprete
  • Necesita traducir de un código fuente a un lenguaje objeto.

 

  • Genera un programa ejecutables.

 

  • Más rápido que el interprete.

 

  • Mayor dificultad al detectar errores.

 

  • Si hay un error se debe corregir y volver a compilar.

 

  • Si ya genero el archivo objeto se puede ejecutar el programa tantas veces quiera sin volver a compilar.

 

  • Ejecuta más rápido un programa.

  • Toma cada línea de código, la analiza y ejecuta al mismo tiempo.

 

 

  • Más lento que un compilador ya que el interprete siempre está verificando el código.

 

 

  • Ejecutan sus instrucciones sobre una máquina virtual interna.

 

 

  • Traduce el lenguaje de alto nivel a lenguaje máquina sin generar ningun objeto.