Lenguajes en Computación
Lenguajes en Computación
Lenguajes en Computación
En informática, cualquier lenguaje artificial puede utilizarse para definir una secuencia de
instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qué
es y qué no es un lenguaje. Se asume generalmente que la traducción de las instrucciones a un
código que comprende la computadora debe ser completamente sistemática. Normalmente es la
computadora la que realiza la traducción.
Tipos De Lenguajes:
Lenguaje Máquina
El lenguaje propio del ordenador, basado en el sistema binario, o código máquina, resulta difícil
de utilizar para las personas. El programador debe introducir todos y cada uno de los comandos y
datos en forma binaria, y una operación sencilla como comparar el contenido de un registro con
los datos situados en una ubicación del chip de memoria puede tener el siguiente formato:
11001010 00010111 11110101 00101011. La programación en lenguaje máquina es una tarea
tan tediosa y consume tanto tiempo que muy raras veces lo que se ahorra en la ejecución del
programa justifica los días o semanas que se han necesitado para escribir el mismo.
Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son a menudo
difíciles de aprender. Más importante es el hecho de que los programas escritos en un bajo nivel
sean altamente específicos de cada procesador. Si se lleva el programa a otra máquina se debe
reescribir el programa desde el principio
Lenguaje alto nivel
Los lenguajes de alto nivel sueles utilizar términos ingleses del tipo LIST, PRINT u OPEN como
comandos que representan una secuencia de decenas o de centenas de instrucciones en lenguaje
máquina. Los comandos se introducen desde el teclado, desde un programa residente en la
memoria o desde un dispositivo de almacenamiento, y son interceptados por un programa que los
traduce a instrucciones en lenguaje máquina.
Los programas traductores son de dos tipos: interpretes y compiladores. Con un interprete, los
programas que repiten un ciclo para volver a ejecutar parte de sus instrucciones, reinterpretan la
misma instrucción cada vez que aparece. Por consiguiente, los programas interpretados se
ejecutan con mucha mayor lentitud que los programas en lenguaje máquina. Por el contrario, los
compiladores traducen un programa integro a lenguaje máquina antes de su ejecución, por lo
cual se ejecutan con tanta rapidez como si hubiese sido escrita directamente en lenguaje
máquina.
Se considera que fue la estadounidense Grace Hopper quien implementó el primer lenguaje de
ordenador orientado al uso comercial. Después de programar un ordenador experimental en la
Universidad de Harvard, trabajó en los modelos UNIVAC I y UNIVAC II, desarrollando un
lenguaje de alto nivel para uso comercial llamado FLOW-MATIC. Para facilitar el uso del
ordenador en las aplicaciones científicas, IBM desarrolló un lenguaje que simplificaría el trabajo
que implicaba el tratamiento de fórmulas matemáticas complejas. Iniciado en 1954 y terminado
en 1957, el FORTRAN (acrónimo de Formula Translator) fue el primer lenguaje exhaustivo de
alto nivel de uso generalizado.
2.2 Ensambladores
Si el lenguaje fuente es el lenguaje ensamblador (en inglés assembly) y el lenguaje objeto es el
lenguaje máquina, entonces al traductor se le llama ensamblador (en inglés assembler). Los
ensambladores son traductores sencillos, en los que el lenguaje fuente tiene una estructura
simple, que permite una traducción de una sentencia fuente a una instrucción en lenguje
máquina, guardándose en casi todos los casos esta relación uno a uno. Hay ensambladores que
tienen macroinstrucciones en su lenguaje. Estas macroinstrucciones, de acuerdo con su nombre,
se suelen traducir a varias instrucciones de máquina. A este tipo de ensambladores se les
denomina macroensambladores (en inglés macroassembler). Actualmente la mayor parte de los
ensambladores comerciales son macroensambladores.
2.3 Compiladores
Un traductor que transforma textos fuente de lenguajes de alto nivel a lenguajes de bajo nivel se
le denomina compilador (en inglés compiler). El tiempo que se necesita para traducir un
lenguaje de alto nivel a lenguaje objeto se denomina tiempo de compilación (compilation time).
El tiempo que tarda en ejecutarse un programa objeto se denomina tiempo de ejecución (run
time).
Nótese que el programa fuente y los datos se procesan en diferentes momentos, denominados
tiempo de compilación y tiempo de ejecución.
2.6 Intérpretes
Los intérpretes son programas que simplemente ejecutan las instrucciones que encuentran en el
texto fuente. En muchos casos coexisten en memoria el programa fuente y el programa
intérprete. Nótese que en este caso todo se hace en tiempo de ejecución. Algunos de los
lenguajes comúnmente interpretados son el BASIC, LOGO, PROLOG, SMALLTALK, APL y
LISP.