Historia del calculo

Solo disponible en BuenasTareas
  • Páginas : 9 (2019 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de agosto de 2012
Leer documento completo
Vista previa del texto
-------------------------------------------------
Intérprete

Cuando aprendemos a programar, normalmente escogemos o nos imponen un determinado lenguaje de programación. Una de las primeras distinciones que es interesante conocer acerca de nuestro lenguaje es si el lenguaje se compila o se interpreta.
En este artículo intentaremos explicar las diferencias entre ambas formas de trabajar.Además, desde la aparición del lenguaje Java hace ya algunos años, ha tomado fuerza otro planteamiento muy interesante: el de las llamadas máquinas virtuales.
En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estostraducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes(ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.
Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos deprogramación y depuración (loque se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
Para mejorar el desempeño, algunas implementaciones de programaciónde lenguajes de programación pueden interpretar o compilar el código fuente original en una más compacta forma intermedia y después traducir eso al código de máquina (ej. Perl, Python, MATLAB, y Ruby). Algunos aceptan los archivos fuente guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java).

COMPILAR
(NOTA: nos referimos a la compilación tradicional, no a la compilaciónen un entorno de máquina virtual, como Java o .NET)
La compilación consiste en coger los ficheros fuente que conforman un programa y, línea por línea, traducir cada instrucción de alto nivel por varias instrucciones en código máquina que realicen lo que la instrucción de alto nivel expresa.
Si se repite esa traducción para todas las líneas del código fuente, obtendremos un conjunto deinstrucciones máquina. Grabando esas instrucciones máquina en un fichero que contiene una estructura interna que un determinado sistema operativo es capaz de entender, obtenemos un fichero binario ejecutable, o simplemente, "un ejecutable".
El encargado de realizar esta traducción es un tipo de programa llamado compilador. En su funcionamiento más básico, un compilador acepta uno o más ficheros fuente y sino contienen errores sintácticos produce un fichero binario ejecutable, que un sistema operativo será capaz de cargar en memoria principal y pedir a la CPU que lo ejecute.
A menudo se compara a un compilador con un traductor de idiomas. Imagine un libro escrito en inglés. Para publicar su versión en español, una persona que conoce las reglas de los dos idiomas y dispone de la técnica paraexpresarse en ambos va leyendo el libro en inglés frase a frase y va escribiendo su equivalente en español.

 INTERPRETAR
El proceso de interpretación es bastante diferente al de compilación, pero su resultado debería ser similar: la ejecución de un programa.
El encargado de hacer esto es un programa llamado intérprete. A diferencia del compilador, el intérprete no produce una traducción a código...
tracking img