-
Primera computadora digital
Al inicio el programa se escribía mediante claves y luego se traducía manualmente al lenguaje de máquina -
Algol
Lenguaje de programación cuyo nombre es un acrónimo formado a partir de las siglas en inglés de ALGorithmic Oriented Language. Aunque no tuvo mucho éxito comercial es muy importante en la historia de la informática ya que tuvo una gran influencia en la mayoría de los lenguajes de programación posteriores como Pascal, C y ADA . -
Math Matic
El primer compilador de la historia es el A-0 (Math Matic), desarrollado por Grace Hopperviendo, viendo lo tedioso que era programar en la famosa computadora Mark I, apostó por poder ingresar código que pudiera ser interpretado en cualquier máquina y llego a la conclusión que en vez de programar a tan bajo nivel, era necesario un intermediario, por ende su creo su propio compilador. -
FORTRAN
(“The IBM Mathematical Formula Translating System”): Un lenguaje de programación de alto nivel de propósito general. Para cálculo numérico y científico (como alternativa al lenguaje ensamblador). Es el lenguaje de programación más antiguo que se utiliza hoy en día. -
Lisp
(“List Processor”) Utilizado para la notación matemática y temas de ciencias de la computación. -
Lenguaje Algebraico Internacional
Surge un grupo Europeo encabezado por F.L. Bauer, en la que participó ACM y John Backus. De este grupo surge un informe que define un Lenguaje Algebraico Internacional, publicado en Zurich -
División del compilador
Strong y otros proponen una solución al problema de que un compilador fuera portable, y esta era dividir al compilador en dos fases “front end” (analiza el programa fuente) y “back end” (genera código objeto para la máquina objeto). -
Cobol
(“Common Business-Oriented Language) Usado principalmente para la informática empresarial. Es el primer lenguaje de programación que se demandan por el Departamento de Defensa de EE.UU.. -
Reconocimiento Léxico
Rabin y Scott proponen el empleo de AFD y AFN para el reconocimiento lexicográfico de los lenguajes -
Código Estructurado
Con el logro de Strong, se sentaban las bases de cómo deben ser la bases del compilador, Michael Oser Rabin y Dana Scot introdujeron lo que era Autómatas Finitos, lo cual permitió el gran desarrollo del análisis léxico e identifico las expresiones regulares. -
Parsers
Se desarrollan diversos métodos de parsers ascendentes y descendentes. Floyd más adelante introduce la técnica de precedencia de operadores y uso de funciones de precedencia -
Recursivos
Se estudia el paso de parámetros por nombre, valor y referencia y se incluyen los procedimientos recursivos para Algol 60 -
Period: to
Análisis Sintáctico
Aparece BNF (Backus-1960, Naur-1963, Knuth-1964) como una guía para el desarrollo del análisis sintáctico -
BASIC
(“Beginner’s All-purpose Symbolic Instruction Code”) Diseñado para la simplicidad. Su popularidad explotó a mediados de los años 70 con los computadores personales. -
GLC
Se estudia y definen las GLC (Gramaticas de Libre Contexto)
El primer compilador auto-alojado (excluyendo ensambladores) fue escrito para Lisp por Tim Hart y Mike Levin en el MIT en 1962. Ellos escribieron un compilador de Lisp en Lisp, probándolo en un intérprete de Lisp existente. Mejoraron tanto el compilador hasta el punto de que se pudiera compilar en su propio código fuente, esto fue llamado auto-alojado. -
Pacal
(En honor al matemático/físico francés Blaise Pascal) Utilizado para la enseñanza de la programación estructurada y estructuración de datos. -
Lenguaje C
(Basado en un lenguaje anterior llamado “B”) Creado para sistemas Unix. Muchos de lenguajes de programación más populares del mundo son derivados de el, entre ellos tenemos C#, Java, JavaScript, Perl, PHP y Python. -
LEX
Aparece LEX generador automático de analizadores léxicos a partir de expresiones regulares bajo UNIX -
YACC
Johnson crea YACC (Yet Another Compiler-Compiler) es un generador de analizadores sintácticos que al igual que LEX funciona en el sistema UNIX. -
Ada
(En honor a Ada Lovelace): Es derivado del Pascal. Contratado por el Departamento de Defensa de los EE.UU. en 1977 para el desarrollo de sistemas de software grandes. -
C++
(“C con clases”; ++ es el operador de incremento en “C”) Es una extensión de lenguaje C, con mejoras tales como clases, funciones virtuales y plantillas. -
Perl
Creado para el procesamiento de informes en sistemas Unix. Hoy en día es conocido por su gran potencia y versatilidad. -
Python
Creado para apoyar una variedad de estilos de programación y hacerlo divertido de usar. -
Ruby
Una lenguaje influenciado por Perl, Ada, Lisp, Smalltalk, etc. Diseñado para la programación productiva y agradable. -
Java
Hecho para un proyecto de televisión interactiva. Funciona multiplataforma. Es el segundo lenguaje más popular (detrás de lenguaje C).