Unnamed2

Historia de los compiladores

  • Ada Lovelace

    Ada Lovelace
    Ada Lovelace desarrolla el primer lenguaje de programación cuando escribió un algoritmo para la máquina analítica de Charles Babbage.
  • El primer ordenador digital

    El primer ordenador digital
    Las instrucciones que se ejecutaban eran códigos numéricos, lenguaje de máquina., esto es engorroso, entonces surgen los ensamblador. Al inicio el programa se escribía mediante claves y luego se traducía manualmente al lenguaje de máquina. Cuando esto lo hizo la misma máquina, a este trabajo se le llamó ensamblar el programa.
  • John Backus

    John Backus
    Dirige una investigación en IBM en un lenguaje algebraico
  • FORTRAN

    FORTRAN
    se comienza a desarrollar FORTRAN
  • FORTRAN

    FORTRAN
    FORTRAN se utiliza en la IBM modelo 704
  • FORTRAN

    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.
  • FORTRAN

    •Surge el concepto traductor
    •El primer compilador de FORTRAN tardó 18 años-persona en realizarse
    •FORTRAN era dependiente de la máquina
  • FORTRAN

    •Paralelamente al desarrollo de FORTRAN en América, en Europa surge una corriente que pretende que los lenguajes fuesen independientes de la máquina, esta corriente estaba influida por los trabajos sobre GLC de Chomsky
    •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
  • Portabilidad

    -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).
    -•El puente de unión era un lenguaje intermedio denominado UNCOL –Universal Computer Oriented Language(no funcionó).
  • LISP

    (“List Processor”) Utilizado para la notación matemática y temas de ciencias de la computación.
  • AFD y AFN

    AFD y AFN
    -Rabin y Scott proponen el empleo de AFD y AFN para el reconocimiento lexicográfico de los lenguajes
    -Aparece BNF (Backus-1960, Naur-1963, Knuth-1964) como una guía para el desarrollo del análisis sintáctico
  • Método

    Sheridan describe un método de parsing de FORTRAN para introducir paréntesis en una expresión.
  • 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..
  • Desarrollo

    -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.
    -Se estudia el paso de parámetros por nombre, valor y referencia y se incluyen los procedimientos recursivos para Algol 60
    -Se desarrolla la localización dinámica de datos
  • 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, los parsers predictivos y la eliminación de recursividad izquierda
  • Algol 60

    -Aparece Algol 60
    -Junto con los lenguajes también la técnica de los compiladores avanza
  • Pascal

    Pascal
    (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

    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
    •A mitad de los 70’s Johnson crea YACC para UNIX (generador de analizadores sintácticos)
    •Ahora un compilador de divide en varias fases
    •El último lenguaje de programación de amplia aceptación es JAVA (es interpretado)
  • 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.
  • Objective-C

    (Extensión de “C” orientada a objetos) Ampliación de C, se adiciona la funcionalidad de paso de mensajes basado en el lenguaje Smalltalk.
  • Perl

    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

    Java
    Hecho para un proyecto de televisión interactiva. Funciona multiplataforma. Es el segundo lenguaje más popular (detrás de lenguaje C).
  • PHP

    PHP
    (“Personal Home Page”) Usado para la creación de páginas web dinámicas.
  • JavaScript

    Creado para ampliar la funcionalidad de las páginas web, permite utilizar formularios de presentación/validación, interactividad, animaciones, seguimiento de la actividad del usuario, etc..