Los lenguajes de alto nivel necesitan de programas traductores

Anuncio
Los lenguajes de alto nivel necesitan de programas traductores para poder ser ejecutados.
Hay dos tipos de traductores: los compiladores y los intérpretes.
Los compiladores
Los compiladores traducen los programas fuente a programas objeto o compilados. Estos
programas objeto, en ensamblador, necesitan posteriormente de un traductor de
ensamblador o linkador para ser traducidos a lenguaje máquina. El programa resultante de
la compilación de un programa fuente se llama programa objeto. Para poder compilar un
programa se necesita esa aplicación y el kit de desarrollo de aplicaciones.
Los intérpretes
Los intérpretes hacen que los programas fuente sean traducidos y ejecutados directamente
por el ordenador, sin necesidad de ser compilados. La mayor parte de los interpretes se
emplean para trabajar en entornos integrados de desarrollo. Un ejemplo puede ser Visual
Basic. No se generan ejecutables, sino que son ejecutados desde la propia aplicación. Para
él existe un kit de desarrollo que permite traducir los programas interpretados a compilados,
pudiéndose posteriormente ejecutar desde el sistema operativo sin necesidad del entrono de
desarrollo. Access también funciona como un entorno de desarrollo que genera bases de
datos que puden ser interpretadas y ejecutadas. El uso de entornos de desarrollo permite la
creación y una rápida depuración de programas de modo previo a su compilación. Para
ejecutar un programa en Visual Basic, desde el entrono de desarrollo se selecciona el objeto
a ejecutar y en la barra de menús se selleciona ejecutar. Después se pulsa sobre iniciar o
iniciar con compilación completa. Aparecerá en pantalla el resultado de la ejecución del
fichero seleccionado. También puede ejecutarse un programa pulsando sobre el botón
ejecutar de la barra de herramientas.
La evolución de los lenguajes de programación se ha realizado en cuatro generaciones. Las
dos primeras se corresponden de forma aproximada con las dos primeras generaciones de
ordenadores. En la primera aparece el lenguaje máquina y en la segunda los lenguajes
ensambladores. En la tercera aparecen FORTRAN, COBOL, ALGOL, LISP, PASCAL,
lenguaje C y los lenguajes estructurados. La cuarta generación está formada por los
Sistemas de Gestión de Bases de Datos (SGBD): DB2, Oracle, Sybase SQL Server y en
microinfomática Acces, FoxPro, Dbase y Visual Basic, aunque este último no es un SGBD.
Ensambladores
Son lenguajes en los que a cada instrucción en código fuente le corresponde una instrucción
en código máquina. Poseen relativamente pocas instrucciones y no utilizan direcciones
físicas de memoria, sino que permiten el uso de direcciones simbólicas y de comentarios.
Para ser ejecutado un programa escrito con lenguaje ensamblador necesita ser traducido,
utilizándose para ello un "ensamblador" que genera código máquina y elimina los
comentarios. El ensamblador genera una tabla que mantiene referencias entre las
direcciones simbólicas de datos con las direcciones físicas. En algunos lenguajes
ensambladores, que poseen código extendido, a determinadas instrucciones les
corresponden varias instrucciones de código máquina.
Lenguaje máquina
El lenguaje máquina depende de la arquitectura del ordenador, siendo interpretado
directamente por el ordenador sin ninguna modificación. Por las dos razones antes
expuestas, su velocidad de ejecución es muy alta. La codificación de los programas en
lenguaje máquina se hace en binario, octal o hexadecimal, por lo que no es fácilmente
legible por el programador.
Los programas en lenguaje máquina utilizan direcciones físicas de memoria para almacenar
datos. Son interpretables por ordenadores con el mismo tipo de arquitectura. Por ejemplo,
un programa escrito para una estación de trabajo de Digital no puede ser interpretado
correctamente por una estación de trabajo de IBM o por un ordenador personal, y viceversa.
En cambio, un programa escrito en lenguaje máquina para un ordenador personal con
procesador 286 puede ser inerpretado por un 486, ya que ambos procesadores comparten
las mismas instrucciones.
Este tipo de lenguaje ejecuta multitud de operaciones sencillas rápidamente. Por ejemplo,
algunos programas no tienen instrucciones para la multiplicación, por lo que han de
ejecutarlas como una sucesión de sumas, es decir, almacenando valores intermedios en
memoria.
Fuente: http://www.galeon.com/kronen/lenguajes.htm
Descargar