Historia de los lenguajes de alto nivel

  En 1945, el matemático y químico Jonh (Janos) von Neumann presenta los principios
generales que debe seguir una máquina de propósito general.

El primer lenguaje en el que se programaron los ordenadores fue el propio del
procesador, es decir, instrucciones análogas a las presentes en la máquina de Von
Neumann. Sin embargo era necesario tener en cuenta los detalles propios de la máquina
para poder realizar cualquier cálculo y además era muy tedioso introducir el programa
en el ordenador.

En 1951, apenas siete años después de que Von Neumann introdujera el concepto de programa almacenado en memoria, Wilkes, Wheeler y Gill describen un cargador de programas que realiza la conversión de valores decimales a binarios para permitir una mayor comodidad en la codificación de instrucciones y direcciones. Con objeto de simplificar la programación, los ensambladores fueron enriqueciéndose paulatinamente, hasta convertirse en traductores de representaciones simbólicas (mnemotécnicas) del lenguaje máquina (lenguajes ensambladores) al propio lenguaje máquina.

Los lenguajes ensambladores siguen siendo próximos a los lenguajes de máquina y, si bien simplifican considerablemente el proceso de la programación, mantienen dos de sus principales inconvenientes: requieren un excesivo nivel de detalle en la escritura de programas y son dependientes del sistema computador concreto, de cuyas instrucciones elementales hace representación simbólica.

Es por ello que se intentó crear un nuevo lenguaje que no estuviese basado directamente
en las instrucciones propias de la máquina (que no dependiese de la máquina concreta),
sino en una abstracción de éstas y que fuese más cómoda para el programador. De la
misma forma, no se utilizarían directamente los dispositivos físicos (registros, celdas de
memoria, etc.) sino abstracciones de éstos (variables.) De esta forma surge un nuevo
concepto de lenguaje de programación, donde cada lenguaje lleva asociado una
máquina abstracta sobre el que se puede ejecutar su código.

Si deseamos ejecutar sobre un ordenador concreto los programas escritos en un lenguaje
de alto nivel, debemos traducirlos a otros equivalentes en un código máquina concreto
(manualmente o mediante un proceso denominado compilación) o disponer de una
herramienta que lea el programa e interprete paso a paso el significado de cada
sentencia del programa (proceso de interpretación).

Trabajando en esta dirección, entre 1954 y 1958, John Backus lideró un grupo de
trabajo que tenía por objeto la realización de un traductor a código máquina de fórmulas
matemáticas que expresaran cálculos. El resultado fue tanto la especificación de un
lenguaje de alto nivel, el Fortran, como la realización de un compilador que traducía
dicho lenguaje al código máquina de un ordenador concreto (IBM 704).
Alrededor del año 1960 se crearon tres lenguajes decisivos: el Algol 60, el Cobol y el
Lisp

El Lisp, diseñado por John McCarthy, fue también un lenguaje muy innovador en el
sentido de que se aleja mucho del concepto de la máquina de Von Neumann. Se basa
casi exclusivamente en el uso de funciones y en el cálculo lambda y su objetivo
principal era el cálculo simbólico. Fue el precursor de los denominados lenguajes
funcionales. Este lenguaje ha sido ampliamente utilizado en el ámbito de la inteligencia
artificial.





Comentarios

Entradas más populares de este blog

El concepto de Lenguaje de Programación

Clasificación de los lenguajes de alto nivel

Clasificación de lenguajes según la administración de memoria