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