ndice
[ocultar]
1Antes de 0
2Historia
3Las dcadas de 1950 y 1960
41968-1979: estableciendo paradigmas fundamentales
5La dcada de 1980: consolidacin, mdulos, rendimiento
6La dcada de 1990: la era de Internet
7Tendencias actuales
8Personas destacadas en la historia de los lenguajes de programacin
9Vase tambin
10Bibliografa
11Enlaces externos
Antes de 0[editar]
Los primeros lenguajes de programacin preceden a la computadora moderna. En un inicio los
lenguajes eran cdigos.
La mquina del telar de Jacquard, creada en 1801, utilizaba los orificios en tarjetas perforadas
para representar los movimientos de un brazo de la mquina de tejer, con el objetivo de
generar patrones decorativos automticamente.
Durante un perodo de nueve meses entre 1842 y 1843, Ada Lovelace tradujo las memorias
del matemtico italiano Luigi Menabrea acerca de la nueva mquina propuesta por Charles
Babbage, la Mquina Analtica. Con estos escritos, ella aadi unas notas en las cuales
especificaba en detalle un mtodo para calcular los nmeros de Bernoulli con esta mquina, el
cual es reconocido por muchos historiadores como el primer programa de computadora del
mundo.
Herman Hollerith se percat de que poda codificar la informacin en tarjetas perforadas
cuando observ a los conductores de trenes que identificaban a los pasajeros segn el orificio
que hacan en su respectivo ticket. En 1890 Hollerith codific los datos del censo en tarjetas
perforadas.
Los primeros cdigos de computadora estaban especializados segn sus aplicaciones. En las
primeras dcadas del siglo 20, los clculos numricos estaban basados en los nmeros
decimales. Eventualmente se fueron dando cuenta que la lgica poda ser representada con
nmeros, no slo con palabras. Por ejemplo, Alonzo Church fue capaz de expresar el clculo
lambda a travs de frmulas. La mquina de Turing estableci las bases para almacenar
programas como datos en la arquitectura de von Neuman de una computadora. Sin embargo,
a diferencia del clculo lambda, el cdigo de Turing no servira satisfactoriamente como base
para lenguajes de ms alto nivel- su principal uso es en el anlisis riguroso en la complejidad
algortmica.
Como muchos primeros en la historia, el primer lenguaje de programacin moderno es difcil
de identificar. Desde un inicio, las restricciones de hardware definan el lenguaje. Las tarjetas
perforadas permitan 80 columnas, pero algunas de estas seran utilizadas para una
clasificacin de cada tarjeta. FORTRAN inclua algunas palabras reservadas provenientes del
Ingls, como IF, GOTO (go to) y CONTINUE. El uso del tambor magntico para la
memoria implicaba que los programas informticos tuvieran que estar intercalados con las
rotaciones del tambor. Por lo tanto los programas eran muy dependientes del hardware.
Para algunas personas, lo que sera el primer lenguaje de programacin moderno depende de
cunto poder y legibilidad humana se requera antes de que se concediera el estado de
"lenguaje de programacin". Tanto el telar de Jacquard como la Mquina Diferencial de
Babbage, tenan lenguajes muy simples y extremadamente limitados para describir las
acciones que estas mquinas realizaran. Se puede incluso considerar los agujeros perforados
en los rollos de pianola como un limitado lenguaje de dominio especfico, a pesar de no estar
diseado para el consumo humano.
Historia[editar]
En la dcada de 1940 fueron creadas las primeras computadoras modernas, con alimentacin
elctrica. 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 programacin en lenguaje ensamblador requera de un gran esfuerzo intelectual y era
muy propensa a errores.
En 1948, Konrad Zuse public un artculo acerca de su lenguaje de programacin Plankalkl.
Sin embargo, no fue implementado en su vida y sus contribuciones fueron aisladas de otros
desarrollos.
Entre algunos lenguajes importantes que fueron desarrollados en este perodo se encuentran:
1943 - Plankalkl (Konrad Zuse), diseado, pero sin implementar durante medio siglo
1943 - el sistema de codificacin ENIAC.
1949 - 1954 -- una serie de conjuntos de instrucciones nemotcnicas, como la de ENIAC,
comenzando en 1949 con C-10 para BINAC (que luego evolucionara en UNIVAC). Cada
conjunto de instrucciones estaba destinado a un fabricante especfico.
Una notacin matemtica exacta, Backus-Naur Form (BNF), fue utilizada para describir la
sintaxis del lenguaje. Todos los subsecuentes lenguajes de programacin han utilizado
una variante de BNF para describir la porcin libre del contexto de su sintaxis.
Algol 60 influenci particularmente en el diseo de lenguajes posteriores, de los cuales
algunos se hicieron ms populares. Los grandes sistemas de Burroughs fueron diseados
para ser programados en un subconjunto extendido de Algol.
Las ideas fundamentales de Algol se continuaron, produciendo Algol 68:
1968 - Logo
1969 - B (precursor C)
1970 - Pascal
1970 - Forth
1972 - C
1972 - Smalltalk
1972 - Prolog
1973 - ML
1975 - Scheme
1978 - SQL (inicialmente slo un lenguaje de consulta, posteriormente ampliado con
construcciones de programacin)
1978 - Modula-2
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
Tendencias actuales[editar]
La evolucin de los lenguajes de programacin contina, tanto en la industria como en
investigacin. Algunas de las tendencias actuales incluyen:
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
Vase tambin[editar]
ACM SIGPLAN History of Programming Languages Conference (HOPL)
Historia de la construccin de los compiladores
Historia del hardware
Lenguaje de programacin
Cronologa de la Computacin
Cronologa de los lenguajes de programacin
Lista de los lenguajes de programacin
Bibliografa[editar]
Rosen, Saul, (editor), Programming Systems and Languages, McGraw-Hill, 1967
Sammet, Jean E., Programming Languages: History and Fundamentals, Prentice-Hall,
1969
Sammet, Jean E., "Programming Languages: History and Future", Communications of the
ACM, of Volume 15, Number 7, July 1972
Richard L. Wexelblat (ed.): History of Programming Languages, Academic Press 1981.
Thomas J. Bergin and Richard G. Gibson (eds.): History of Programming Languages,
Addison Wesley, 1996.