Historia y evolución de los lenguajes de programación

  • Period: to

    Los primeros lenguajes

    Los primeros lenguajes de programación preceden a la computadora moderna. En un inicio los lenguajes eran códigos. La máquina del telar de Jacquard, creada en 1801, utilizaba los orificios en tarjetas perforadas para representar los movimientos de un brazo de la máquina de tejer, con el objetivo de generar patrones decorativos automáticamente.
  • Period: to

    Lovelace tradujo las memorias

    Durante un período de nueve meses entre 1842 y 1843, Ada Lovelace tradujo las memorias del matemático italiano Luigi Menabrea acerca de la nueva máquina propuesta por Charles Babbage, la Máquina Analítica. Con estos escritos, ella añadió unas notas en las cuales especificaba en detalle un método para calcular los números de Bernoulli con esta máquina.
  • Herman Hollerith se percató de que podía codificar la información

    Herman Hollerith se percató de que podía codificar la información en tarjetas perforadas cuando observó a los conductores de trenes que identificaban a los pasajeros según el orificio que hacían en su respectivo ticket. En 1890 Hollerith codificó los datos del censo en tarjetas perforadas
  • Period: to

    Las primeras computadoras modernas

    En la década de 1940 fueron creadas las primeras computadoras modernas, con alimentación eléctrica. La velocidad y capacidad de memoria limitadas forzaron a los programadores a escribir programas, en lenguaje ensamblador muy afinados. Finalmente se dieron cuenta de que la programación en lenguaje ensamblador requería de un gran esfuerzo intelectual y era muy propensa a errores.
  • Period: to

    Konrad Zuse publicó un artículo acerca de su lenguaje de programación Plankalkül

    Entre algunos lenguajes importantes se encuentran : 1943 - Plankalkül (Respetad a Konrad), diseñado, pero sin implementar durante medio siglo
    1943 - se crea el sistema de codificación ENIAC.
    1949 - 1954 -- una serie de conjuntos de instrucciones nemotécnicas, como la de ENIAC, comenzando en 1949 con C-10 para BINAC (que luego evolucionaría en UNIVAC). Cada conjunto de instrucciones estaba destinado a un fabricante específico
  • Period: to

    los tres primeros lenguajes de programación modernos1

    Las décadas de 1950 y 1960
    En los cincuenta, los tres primeros lenguajes de programación modernos, cuyos descendientes aún continúan siendo utilizados, son: FORTRAN (1955), creado por John Backus.
    LISP (1958), creado por John McCarthy.
    COBOL (1959), creado por el Short Range Committee, altamente influenciado por Grace Hopper.
  • Period: to

    lenguaje para algoritmos

    Otro hito a finales de 1950 fue la publicación proporcionó dos innovaciones importantes para los lenguajes de programación: Estructuras de bloques anidadas: las secuencias de código y las declaraciones asociadas se pueden agrupar en bloques sin tener que pertenecer explícitamente a procedimientos separados;
    Ámbito léxico: un bloque puede tener sus propias variables, procedimientos y funciones, invisible al código fuera de dicho bloque, por ejemplo, ocultamiento de información.
  • Period: to

    Algunos de los lenguajes importantes que fueron desarrollados en este período incluyen:

    1951 - Regional Assembly Language
    1952 - Autocoder
    1954 - IPL (precursor de LISP)
    1955 - FLOW-MATIC (precursor de COBOL)
    1957 - FORTRAN (primer compilador)
    1957 - COMTRAN (precursor de COBOL)
    1958 - LISP
    1959 - FACT (precursor de COBOL)
    1959 - COBOL
    1959 - RPG
    1962 - APL
    1962 - Simula
    1962 - SNOBOL
    1963 - CPL (precursor de C)
    1964 - BASIC
    1964 - PL/I
    1967 - BCPL (precursor de C)
  • Period: to

    1968-1979: estableciendo paradigmas fundamentales

    trajo un gran florecimiento de lenguajes de programación. La mayoría de los paradigmas de lenguajes de programación más importantes y actualmente en uso se inventaron en este período: Simula, inventado en la década de 1960 por Nygaard y Dahl como un superconjunto de Algol 60, fue el primer lenguaje diseñado para apoyar la programación orientada a objetos.
    C, en principio un lenguaje de programación de sistemas, desarrollado por Dennis Ritchie y Ken Thompson en los Laboratorios bel 1969 y 1973.
  • Period: to

    La década de 1980: consolidación, módulos, rendimiento

    La década de 1980 fueron años de consolidación relativa en los lenguajes imperativos. En vez de inventar nuevos paradigmas, se comenzó a trabajar a partir de las ideas inventadas en la década anterior. C++ combinaba la programación orientada a objetos y la programación de sistemas. El gobierno de Estados Unidos estandarizó Ada, un lenguaje de programación de sistemas destinado a ser utilizado por contratistas de defensa.
  • La década de 1990: la era de Internet

    El rápido crecimiento de Internet en la década de 1990 fue el siguiente gran acontecimiento histórico para los lenguajes de programación. Con la apertura de una plataforma totalmente nueva para los sistemas informáticos, Internet creó una oportunidad adoptar nuevos lenguajes. el lenguaje de programación JavaScript se hizo popular debido a su pronta integración con el navegador web Netscape Navigator, y varios lenguajes de scripting alcanzaron un amplio uso en el desarrollo de aplicacio
  • Period: to

    Algunos lenguajes importantes que se desarrollaron en este período son:

    1990 - Haskell
    1991 - Python
    1991 - Visual Basic
    1991 - HTML (lenguaje de marcado de hipertexto)
    1993 - Ruby
    1993 - Lua
    1994 - CLOS (parte del ANSI Common Lisp)
    1995 - Java
    1995 - Delphi (Object Pascal)
    1995 - JavaScript
    1995 - PHP
    1996 - WebDNA
    1997 - Rebol
    1999 - D
  • Period: to

    Lenguajes importantes entre 2000 y 2015

    2000 - ActionScript
    2001 - C#
    2001 - Visual Basic .NET
    2002 - F#
    2003 - Groovy
    2003 - Scala
    2003 - Factor
    2005 - Scratch
    2007 - Clojure
    2009 - Go
    2011 - Dart
    2014 - Swift
  • Period: to

    2000-2015

    La evolución de los lenguajes de programación continúa, tanto en la industria como en investigación. Algunas de las tendencias actuales incluyen: Aumentar el soporte para la programación funcional en lenguajes importantes utilizados comercialmente, incluida la programación funcional pura para hacer el código más fácil de razonar y de paralelizar (tanto en macro como en micro-niveles).
    Construir lenguajes para apoyar la programación concurrente y distribuida
  • Continuación 2000-2015

    Mecanismos para añadir al lenguaje verificación en cuanto a seguridad y confiabilidad: chequeo sintáctico extendido, control de flujo de información, seguridad de hilos.
    Mecanismos alternativos de modularidad: mixins, delegados, aspectos.
    Desarrollo de software orientado a componentes.
    Metaprogramación, la reflexión o el acceso al árbol de sintaxis abstracta.