Con la permanente evolución de los ordenadores, los lenguajes de programación han ido evolucionando. Investigando se consigue que el primer lenguaje se creó hace más de 100 años y lo desarrolló una mujer. Veamos cómo es la historia de los lenguajes de programación.
Historia de los lenguajes de programación: Antecedentes
Con el tiempo y la permanente evolución de los computadores, los lenguajes de programación han tenido que ser modificados y mejorados según los requerimientos de los programadores y de las computadoras en general, generando una gran cantidad de lenguajes y códigos que ya han pasado al olvido.
Los lenguajes de programación iniciales anteceden al ordenador actual, en un comienzo los lenguajes de programación eran códigos. La máquina del telar creada por Jacquard, en el año de 1801, empleó los huecos en tarjetas que tenían perforaciones para recrear el movimiento del brazo mecánico de una máquina de tejer, con el objeto de crear patrones de decoración de forma automática.
Entre los años de 1842 y 1843, Ada Lovelace, logró la traducción del trabajo del trabajo de Menabrea sobre una máquina que propuso Charles Babbage, “La Máquina Analítica”. Ada Lovelace, agregó unas observaciones sobre la metodología para hacer los cálculos de los números de Bernoulli con dicha máquina.
Herman Hollerith codificó toda la información de las tarjetas perforadas, cuando se percató que los choferes de los trenes lograban identificar los pasajeros usando el hueco que hacían en el boleto. Luego en, 1890, Hollertih creo un código de datos del registro de pasajeros en dichas tarjetas.
Los códigos de computadoras iniciales, se especializaban de acuerdo para que se iban a usar. En las décadas iniciales del siglo XX, los cálculos numéricos se basaban en los números decimales. Posteriormente, se percataron que la lógica se podía simbolizar con números.
Alonzo Church expresó el cálculo Lambda mediante fórmulas. La máquina de Turing, planteó los cimientos para compilar programas como datos de un computador en la arquitectura de Von Neumann.
No obstante, el código de Turing no sirvió de forma exitosa como un cimiento para lenguajes más avanzados, sino que se usó en el análisis de rigor de los algoritmos.
La primera historia de los lenguajes de programación, es complicada ubicar en el tiempo con precisión. Desde el principio, las limitaciones de los hardware definieron la historia de los lenguajes de programación.
Inicialmente las tarjetas perforadas solo admitían unas 90 columnas, sin embargo, se usarían para hacer una clasificación de cada una de las tarjetas. El empleo del tambor magnético para la memoria conllevaba que los programas debían intercalarse con las oscilaciones del tambor. Así que, los programas dependían del hardware.
Para ciertos expertos, la máquina de tejer de Jacquard, así como la Maquina de Babbage, eran lenguajes muy básicos y con limitaciones para describir acciones que hacían estas máquinas. Dentro de la historia de los lenguajes de programación, hasta las tarjetas perforadas son consideradas como un lenguaje básico, aunque no fue creado para consumo humano.
Datos y fechas importantes
En los años 40 del siglo XX se desarrollaron los primeros ordenadores, con alimentación de corriente eléctrica. Tenían limitaciones de velocidad y la capacidad de memoria, obligando a los programadores a crear programas sencillos. A la larga, se percatan de que la programación como lenguaje necesitaba de un gran empuje intelectual ya que se podía comer errores sino se conoce del tema.
En el año de 1948, Konrad Zuse hizo la publicación de un artículo sobre un lenguaje de programación que desarrolló llamado Plankalkul, pero no investigó más en esta área. Entre los lenguajes que se crearon en esa época pueden destacar:
-
1943: Código ENIAC.
-
1948 Plankalkul, este se implementó medio siglo después.
-
1949 a 1954: se desarrolló un grupo de instrucciones que fueron creadas para fabricantes determinados.
Años 50 y 60 siglo XX: Comienzo de la historia de los lenguajes de programación
En esta época, se desarrollaron los tres lenguajes de programación aun en vigencia, los cuales son:
-
1955: FORTRAN, desarrollado por John Backus.
-
1958: LISP, desarrollado por John McCarthy.
-
1959: COBOL, desarrollado por Short Range Committe, y su influencia fue Grace Hopper.
Otro momento importante, fue para finales de los años 50, cuando se publicó por un Comité Americano y Europeo de expertos en Computación (Algol), acerca de un actualizado “Lenguaje para Algoritmos”. Este informe agrupó muchas ideas y observaciones del momento y suministró dos innovaciones relevantes para la historia de los lenguajes de programación:
-
Estructuras de bloques anidados: las secuencias de código y las declaraciones relacionadas se aglomeran en bloques sin que tenga que ser de forma explícita a procesos individuales.
-
Ámbito léxico: un bloque tienes sus propias variables, procesos y funciones, que no son visibles al código fuera de este bloque, un ejemplo seria, ocultando datos o información.
Otra de las innovaciones, asociada con esta información es el siguiente:
-
Un signo matemático preciso, Backus – Naur Form o mejor conocido como BNF, fue usado para describir la construcción del lenguaje. Todos los siguientes lenguajes de programación han usado una variación de BNF para describir la parte libre del contexto de su construcción.
Este comité Americano y Europeo, influyó especialmente, en el desarrollo de lenguajes subsiguientes. Los grandes sistemas de Burroughs fueron desarrollados para ser programados en un conjunto ampliado de dicho comité que se conoció como Algol.
Las ideas principales de Algol se extendieron y para el año de 1968, se realizó Algol 68:
-
La construcción y la semántica se realizó más ortogonal, con rutinas incógnitas, un sistema de tipificación con funciones de orden superior.
-
No solo se definió formalmente, la parte libre del contexto, sino que también la construcción y la semántica, en términos de la gramática de Van Wijngaarden, creado para este fin.
Las amplias pero no empleadas características de y Algol 68 y su complicado sistema de atajos y restricciones automáticas lo llevaron a la impopularidad y se hizo de difícil aplicación.
De manera que, Niklaus Wirth se separó del comité y desarrolló el lenguaje simple conocido como “Pascal”. Estos son algunos de los lenguajes desarrollados en esa época:
-
Año 1951: Lenguaje de ensamblaje regional.
-
Año 1952: Autocoder.
-
Año 1954: IPL.
-
Año 1955: Flow Matic.
-
Año 1957: FORTRA N.
-
Año 1958: LISP.
-
Año 1959: FACT, COBOL y RPG.
-
Año 1962: APL, Simula y SNOBOL.
-
Año 1963: CPL.
-
Año 1964: BASIC y PL/I.
-
Año 1967: BCPL.
Años 70: se establece modelos fundamentales
Entre los años de 1960 y 1970, hubo un gran auge en la historia de los lenguajes de programación. La mayoría de los modelos de lenguajes de programación más relevantes y que se emplean en la actualidad, fueron creados en esta época:
-
SIMULA, fue creado en el año de 1960 por Dahl y Nygaard como un Superconjunto Algol 60, fue el primer lenguaje de la historia de los lenguajes de programación, desarrollado para fortalecer la programación creada hacia los objetos.
-
El lenguaje de programación C, fue creado inicialmente como un lenguaje de programación de sistemas, los desarrolladores fueron Ken Thompson y Dennis Ritchie en los años 168 y 1972.
-
Smalltalk, creada en los años 70, suministro un amplio diseño de un lenguaje hacia los objetos.
-
Prolog, creado por Roussel, Colmerauer y Kowalski en el año de 1972, considerado el primer lenguaje de programación lógica.
-
ML edificó un sistema de tipos polimórfico, creado por Robin Milner en el año de 1973, en la cúspide de Lisp, considerado precursor en los lenguajes funcionales de programación tipo estático.
Los lenguajes de programación descritos, fueron la base fundamental dentro de la historia de los lenguajes de programación, todos los lenguajes actuales tienen al menos uno de estos en su registro.
En esta época también se creó un amplio debate de ideas acerca de los méritos de la programación estructurada, que básicamente simbolizaba una programación sin el empleo de GOTO. Este torrente de ideas guardaba relación con el diseño del lenguaje, ya que algunos lenguajes no contemplaban GOTO, y así que se vio el programador forzado a crear la programación estructurada
Algunos de los lenguajes de programación que se crearon entre esta época, se tienen:
-
Año 1968: Logo.
-
Año 1969: B, antecesor de C.
-
Año 1970: Pascal y Forth.
-
Año 1972: C, Prolog y Smalltalk.
-
Año 1973: ML.
-
Año 1975: Scheme.
-
Año 1978: SQL, que en sus inicios era un lenguaje para consultas y luego se extendió a la construcción de programación. También se desarrolló en este año Modula – 2.
Años 80: fortalecimiento, módulos y rendimiento
Los años de 1980, son considerados dentro de la historia de los lenguajes de programación, como la época de fortalecimiento en los lenguajes imperativos. Se continuó trabajando en los lenguajes ya creados en la década previa.
C++, llegó para conjugar la programación hacia los objetos y la programación de sistemas. El gobierno estadounidense logró la normalización de ADA, que es un lenguaje de programación de sistemas para ser empleado por empresas de guerra y defensa.
En Japón, por su parte, se invirtieron gran parte del Presupuesto Nacional en la investigación en los “Lenguajes de programación de quinta generación”, que incluían edificaciones de la programación lógica. La sociedad de los lenguajes funcionales realizó la normalización de ML y Lisp.
El avance investigativo del lenguaje funcional de nombre Miranda, que iba muy lento, empezó a agarrar auge en esta época.
La tendencia en el área del diseño de lenguajes fue un mejor enfoque en la programación de sistemas a mayor escala mediante el empleo de módulos, una organización de gran escala de unidades de código.
Lenguajes como Modula, Ada y Ml crearon sistemas de módulos destacados en los 80, y tenían relación con la construcción de programación genérica, que sería módulos ya con parámetros predeterminados.
Aunque no se desarrollaban nuevas ideas acerca de lenguajes de programación, la mayoría de los especialistas ampliaron los fundamentos de los lenguajes previos y lograron adaptaciones a nuevas realidades. Ejemplo de esto son, los lenguajes de los sistemas Emerald y Argus, que hicieron la adaptación de la programación hacia objetos para sistemas distribuidos.
En los años 80 se avanzó en la implementación de lenguajes de programación. El grupo RISC que trabajaba en la Arquitectura de ordenadores señalaba que el hardware tenía que ser creado para los recopiladores y no para los programadores.
De manera que, con las mejoras en cuanto a la velocidad del procesador, con metodologías de recopilación más efectivas, el grupo RISC atrajo interés en la tecnología de recopilación de los lenguajes de alto nivel.
Las tecnologías de los lenguajes de programación siguieron trabajando acerca de este trabajo, en el comienzo de los años 90.
Entre los lenguajes más destacados que se crearon en esta década, se pueden mencionar:
-
Año 1980: C++, que es la versión de C pero con clases.
-
Año 1983: Ada.
-
Año 1984: MATLAB y Common Lisp.
-
Año 1985: Eiffel.
-
Año 1986: Erlang y Objective – C.
-
Año 1987: Perl.
-
Año 1988: Mathematica y Tcl.
-
Año 1989: FL.
Años 90: El tiempo de Internet
La rápida evolución de Internet durante los años 9, fue el gran evento de la historia de los lenguajes de programación. Con la creación y desarrollo de una plataforma completamente innovadora para los sistemas de Informática, Internet trajo una oportunidad para la adopción de lenguajes nuevos.
Particularmente, se debe mencionar, el lenguaje de programación JavaScript, que obtuvo fama rápidamente, por su rápido acoplamiento con el navegador Netscape Navigator, así como otros lenguajes lograron ampliar su utilización en la creación de aplicaciones particulares para servidores de la web.
Te invitamos a leer, si te interesa saber acerca de Tecnologías inalámbricas: definición y funciones.
Los años 90, fue la época de las nuevas combinación y avance de los lenguajes precursores, además de que se empezó a difundir los lenguajes funcionales. Se generaron lenguajes de aplicaciones de desarrollo rápido o RAD, orientados a objeto, entre los que se puede mencionar tenemos: Visual Basic, Java y Object Pascal.
También se desarrollaron lenguajes innovadores y radicales, conocidos como lenguajes de script. Son lenguajes con mayor productividad que los RAD, sin embargo, a menudo su productividad, es debido a que es más complicado de escribir y preservar largos programas que programas simples y pequeños.
No obstante, los programas script se transformaron en los más destacados en la conectividad de la web.
Entre los lenguajes más relevantes creados en esta década, tenemos:
-
Año 1990: Haskell.
-
Año 1991: HTML, Visual Basic y Python.
-
Año 1993: Lua y Ruby.
-
Año 1994: CLOS.
-
Año 1995: JavaScript, PHP, Delphi y Java.
-
Año 1996: WebDNA.
-
Año 1997: Rebol.
-
Año 1999: D
Año 2000: Tiempos actuales
Dentro de la historia de los lenguajes de programación, su evolución natural es continua, a nivel de investigación como industrial. Entre los ámbitos actuales de trabajo se tienen:
-
Incremento del soporte para la programación funcional en lenguajes de programación.
-
Diseño y construcción de lenguajes para soportar la programación distribuida y concurrente.
-
Métodos para agregar al lenguaje, procesos de revisión y verificación en materia de confiabilidad y seguridad: seguridad de hilos, control de migración de información, revisión sintáctica ampliada.
-
Métodos alternos de modularidad.
-
Creación y desarrollo de softwares enfocados a componentes.
-
Metaprogramación y el acceso al árbol de sintaxis abstracta.
-
Enfoque en la distribución y movilidad.
-
Integración con las bases de datos.
-
Soporte para Unicode en el código fuente.
-
XML para interfaz gráfica.
-
Código abierto para el desarrollo de lenguajes de programación.
Entre los lenguajes más relevantes creados en esta década, tenemos:
-
Año 2000: ActionScript.
-
Año 2001: Visual Basic.NET y C#.
-
Año 2002: F#.
-
Año 2003: Factor, Scala y Groovy.
-
Año 2005: Scratch.
-
Año 2007: Clojure.
-
Año 2009: Go.
-
Año 2011: Dart.
-
Año 2014: Swift.
Si te gustó está información, te invitamos a revisar estos otros enlaces de interés:
Nube híbrida: definición, función, ventajas y más.