Traductores de lenguaje: el proceso de traducción de un programa | EL Informático GO Sistemas

Traductores de lenguaje: el proceso de traducción de un programa

El proceso de traducción de un programa fuente escrito en un lenguaje de alto nivel a un máquina comprensible por la computadora se realiza mediante programas llamados "traductores". Los traductores de lenguaje son programas que traducen los programas fuente escritos en lenguajes de alto nivel a código máquina y se clasifican en dos grandes grupos: compiladores e intérpretes.

Una de las grandes ventajas de los lenguajes de alto nivel es la portabilidad del proceso de traducción. El lenguaje máquina de una computadora se crea por los diseñadores para una CPU o procesador específico. Cada tipo de computadora tiene su propio lenguaje máquina. Un programa para un procesador 17 de Intel en su laptop no funciona directamente en una CPU ARMv8 en su teléfono inteligente. En resumen, un programa escrito en un lenguaje de alto nivel se puede ejecutar en diversos tipos de computadoras siempre que haya un compilador o intérprete adecuado (que, en esencia, es otro programa). Como resultado, se puede ejecutar el mismo programa escrito en Python en una laptop y en una tableta inteligente incluso aunque tengan procesadores diferentes, ya que ambos soportan un intérprete Python.

Intérpretes

Un intérprete es un programa traductor de un lenguaje de alto nivel que traduce y ejecuta directamente las instrucciones escritas en dicho lenguaje de programación. Un intérprete es un traductor que toma un programa fuente, lo traduce y, a continuación, lo ejecuta. Los programas intérpretes actuales más utilizados son JavaScript, Python y Ruby. Los lenguajes intérpretes históricos son: Basic, que ya prácticamente no se utiliza aunque Microsoft comercializa todavía la versión Visual Basic (VB .NET), y Smalltalk, lenguaje de programación orientado a objetos puro.

El programa intérprete traduce el programa escrito en el lenguaje de alto nivel, lo analiza y ejecuta directamente, instrucción a instrucción a medida que sea necesario y sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente. En la figura 1.8 se muestra el proceso.


 
Complladores
Un compilador es un programa que traduce los programas fuente escritos en lenguaje de alto nivel a lenguaje máquina. La traducción del programa completo se realiza en una sola operación denominada compilación del programa; es decir, se traducen todas las instrucciones del programa en un solo bloque. El programa compilado y depurado (eliminados los errores del código fuente) se denomina programa ejecutable porque ya se puede ejecutar directamente y cuantas veces se desee; sólo deberá volver a compilarse de nuevo en el caso de que se modifique alguna instrucción del programa. De este modo, el programa ejecutable no necesita del compilador para su ejecución. Los lenguajes compilados típicos más utilizados son: C, C++, Java, C#, Pascal, Fortran y Cobol.
El proceso de traducción (figura 1.9) se denomina compilación. El programa de alto nivel se llama código fuen- te y el código máquina resultante es un programa que se puede ejecutar directamente en la computadora. La línea punteada en el diagrama representa la ejecución del código máquina (ejecución del programa).
Compiladores versus Intérpretes
La diferencia entre interpretación y compilación es que esta última es un proceso de traducción de una sola vez. Cuando un programa es compilado se puede ejecutar una y otra vez sin necesidad de utilizar de nuevo el compila- dor o código fuente. En el caso de un programa interpretado, el intérprete y el código se necesitan cada vez que el programa se ejecuta. Los programas compilados tienden a ser más rápidos, ya que la traducción se hace sólo una vez y completa; sin embargo, los lenguajes interpretados se conducen a sí mismos a un entorno de programación más flexible ya que los programas pueden ser desarrollados y ejecutados interactivamente.

La principal diferencia entre compilador e intérprete es que un lenguaje compilado requiere un paso adicional antes de ser ejecutado, la compilación, que convierte el código fuente a módulo máquina, mientras que un lenguaje Interpretado se convierte a lenguaje máquina a medida que se ejecuta.

Tanto compiladores como intérpretes son programas que convierten el código fuente a lenguaje máquina (instrucciones que entiende la computadora [procesador] en código binario). En los compiladores es necesario realizar el proceso de compilación cada vez que se cambia el código fuente, aunque existen herramientas que pueden auto- matizar el proceso. Otra desventaja de un lenguaje compilado es que cuando se compila un programa, se deben crear ejecutables para cada uno de los sistemas operativos a utilizar. Un ejecutable creado para el sistema operativo Linux no sirve para Windows.

Sin embargo, un lenguaje compilado es mucho más rápido que uno interpretado, ya que cuando el programa es ejecutado ya está en código máquina y esta circunstancia optimiza el rendimiento. Además, la velocidad es otra desventaja del lenguaje interpretado ya que necesita tener instalado el programa intérprete, condición que no es necesaria en un lenguaje compilado que se convierte directamente a lenguaje máquina.

Existen tres modos de implementación de lenguajes:

  • Un lenguaje puede ser interpretado.
  • Un lenguaje puede ser compilado a un lenguaje máquina.
  • Un lenguaje puede ser implementado a alguna combinación de los métodos anteriores.

El programa compilado es más fácil de distribuir, pero sólo se puede ejecutar en la plataforma que se ha compillado. Cada sistema operativo (y procesador) necesita una versión compilada diferente. C++ se podría ejecutar en una computadora con un procesador x86 pero no en uno con ARM, o bien en Linux pero no en Windows. Un programa compilado es más seguro que uno interpretado, porque no contiene el código fuente que puede ser modificado incorrectamente por el usuario.

La programación en un lenguaje compilado es un proceso de tres etapas:

Escribir el programa fuente.

Compilar el programa fuente produciendo un programa ejecutable.

• Se debe ejecutar el programa ejecutable.

Programación en un lenguaje interpretado, es un proceso de dos pasos:

• Primero, escribir el programa fuente.

A continuación, se ejecuta el programa mediante la ejecución del intérprete.

QR de esta imagen:

Descargar esta imagen Aquí

Publicar un comentario

Tema Anterior Tema Siguiente