Historia de los lenguajes de programación

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

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.

historia-de-los-lenguajes-de-programación-2

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:

  1. 1955: FORTRAN, desarrollado por John Backus.

  2. 1958: LISP, desarrollado por John McCarthy.

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

historia-de-los-lenguajes-de-programación-3

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

historia-de-los-lenguajes-de-programación-3

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.

historia-de-los-lenguajes-de-programación-4

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.

historia-de-los-lenguajes-de-programación-5

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.