Image

Historia de los compiladores

  • Se desarrolla el primer ordenador digital

    Se desarrolla 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
    John Backus dirige una investigación en IBM en un lenguaje algebraico
  • Lenguaje ensamblador

    Lenguaje ensamblador
    El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas informáticos de bajo nivel, y constituye la representación más directa del Código máquina específico para cada arquitectura de computadoras legible por un programador. Aun hoy se utiliza en la programación de handler o manipuladores de dispositivos de hardware.
  • Primer compilador de la historia

    Primer compilador de la historia
    El primer compilador de la historia es el A-0 viendo ella 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 propio compilador.
  • FORTRAN

    FORTRAN
    Después de los logros de Hopper, se ve la necesidad de utilizar lenguajes de alto nivel, hombres que investigaron como Jhon Backups acerca de interpretes en el año 1954, pudo surgir el lenguaje de programación: FORTRAN (FORMULAE TRANSLATOR), el cual consistía en recibir códigos sobre ecuaciones matemáticas en tarjetas perforadas y lograr ejecutarlas a velocidad de lenguaje de
    máquina.
  • Algol 58

    Algol 58
    Ya que FORTRAN tardo 18 años en desarrollarse, sin mencionarse que este mismo lenguaje solo funcionaba en hardware de IBM aparece Chomsky. F. Bauer de la Universidad de Munich, que trabaja con algoritmos sencillos. Logra trabajar junto con Backups y con ello produce ALGOL 58 (1958), el cual podrá trabajar en forma estructurada o en bloques.
  • Automatas

    Automatas
    En el año 1959 Strong dio una propuesta para dar solución al problema de no poder ejecutar código en cualquier maquina. Entonces propuso una solución de dividir en dos partes todo el proceso de compilación.
    Front End: Esta parte es la que analiza el programa fuente, se ejecuta primero
    Back End: Esta parte se encarga de escribir el código objeto para la máquina, se ejecuta de último.
  • Rabin y Scott

    Rabin y Scott
    Rabin y Scott proponen el empleo de AFD y AFN para el reconocimiento lexicográfico de los lenguajes
  • Parsing Fortran

    Parsing Fortran
    Sheridan describe un método de parsing de FORTRAN para introducir paréntesis en una expresión
  • ALGOL 60

    ALGOL 60
    En los 60’s 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
  • Parametros

    Parametros
    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
  • Parsing

    Parsing
    se usa por primera vez un parsing descendente recursivo
  • LISP

    LISP
    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.
  • BASIC

    BASIC
    Por su sencillez, es, sin duda, el más difundido, aplicándose tanto en tareas de gestión como en aplicaciones científicas
  • GLC

    GLC
    se estudia y definen las GLC, los parsers predictivos y la eliminación de recursividad izquierda
  • C

    C
    Por su sencillez, es, sin duda, el más difundido, aplicándose tanto en tareas de gestión como en aplicaciones científicas
  • Analisis lexico y sintactico

    Analisis lexico y sintactico
    Aparecen los primeros programas que automatizan los procesos de análisis léxico y sintáctico. Aparece PASCAL, utilizado para la programación estructurada.
  • LEX

    LEX
    aparece LEX generador automático de analizadores léxicos a partir de expresiones regulares bajo UNIX
  • YACC

    YACC
    Johnson crea YACC para UNIX (generador de analizadores sintácticos). Ahora un compilador de divide en varias fases
  • C++

    C++
    Permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
  • Small C

    Small C
    Se consolida y prolifera el concepto de asignación y liberación de memoria dinámica. La programación orientada a objetos es extensamente utilizada y madura.
  • Laticce

    Laticce
    Fue la primer compilador para el IBM Personal Computer
  • PASCAL

    PASCAL
    Borland lanzó al mercado su compilador PASCAL
  • TURBO basic

    TURBO basic
    Turbo Basic es un compilador de BASIC desarrollado por Borland en 1987. Se caracteriza por tener funciones gráficas. Fue uno de los últimos BASIC antes de la aparición de Visual Basic. Tiene la característica de ser compatible con el QuickBASIC de Microsoft, hasta el punto de que un libro de referencia del Turbo Basic se puede usar perfectamente para programar en QuickBasic.
  • Turbo c

    Turbo c
    Turbo C era un entorno de desarrollo integrado y compilador desarrollado por Borland para programar en lenguaje C.Fue el compilador más popular para desarrollar en C en entornos MS-DOS
  • IDE

    Surgen los ambientes de desarrollo, los lenguajes interpretados comienza a ganar terreno en aplicaciones de Internet y el código intermedio se vuelve a poner de moda.
  • Phyton

    Phyton
    Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma.
  • Visual Basic

    Visual Basic
    Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo.
  • Ruby

    Ruby
    Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.
  • Java

    Java
    es un lenguaje de programación de propósito general, concurrente, orientado a objetos, que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible.
  • JavaScript

    JavaScript
    implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas
  • PHP

    PHP
    Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en un documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera el HTML resultante.
  • D

    D
    Se origina como un rediseño de C++, con un enfoque más pragmático, pero no es un lenguaje puramente derivado del anterior. D ha mantenido algunas características de C++ y también está influido por otros conceptos de otros lenguajes como Java, C# y Eiffel.
  • C sharp

    C sharp
    Ya existe un compilador implementado que provee el marco Mono - DotGNU, el cual genera programas para distintas plataformas como Windows Microsoft, Unix, Android, iOS, Windows Phone, Mac OS y GNU/Linux.
  • GO

    GO
    Go es un lenguaje de programación compilado, concurrente, imperativo, estructurado, orientado a objetos —de una manera bastante especial— y con recolector de basura que de momento está soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD y Mac OS X.
  • DART

    DART
    El objetivo de Dart no es reemplazar JavaScript como el principal lenguaje de programación web en los navegadores web, sino ofrecer una alternativa más moderna. El espíritu del lenguaje puede verse reflejado en las declaraciones de Lars Bak, ingeniero de software de Google, que define a Dart como un “lenguaje estructurado pero flexible para programación Web”.
  • Swift

    Swift
    Es un lenguaje de programación multiparadigma creado por Apple enfocado en el desarrollo de aplicaciones para iOS y macOS. Fue presentado en WWDC 20147​ y está diseñado para integrarse con los Frameworks Cocoa y Cocoa Touch, puede usar cualquier biblioteca programada en Objective-C y llamar a funciones de C.