Historia de los Lenguajes de Programación

Historia de los Lenguajes de Programación es otro de los artículos que estaban posteados en uno de mis viejos blogs gratuitos y que se incorporan al bagaje de Pc web.

En Prehistoria del computador hablaba de mis primeros contactos con el lenguaje de programación[1]Basic. Me pareció sensato entrar a describir someramente alguna de las características de estos lenguajes de programación en general.
Ya había algo de esto (estaban implícitos) en el telar de Jacqard y las tarjetas perforadas (1801).
Ada Lovelace, entre 1842-1843 hizo una suerte de programa, instructivo, sobre cómo calcular los números de Bernoulli en la máquina analítica de Babagge.

Lo mismo, Hollerit sería un precursor de lo que conocemos en la actualidad como programación; no olvidemos lo que hizo en 1890 para el censo norteamericano, usando tarjetas perforadas.
Pues bien, los primeros lenguajes de programación se expresaban en lenguaje de máquina[2], con todas las ostensibles dificultades que esto conllevaba, limitando su utilidad[3].

Vienen luego los lenguajes ensambladores[4], hechos pensando en los programadores, implementando un código mnemónico para cada una de las operaciones de la computadora y una notación especial que sería traducida con posterioridad por un programa ensamblador a lenguaje de máquina.[5]

Tanto el lenguaje de máquina como el lenguaje ensamblador corresponden a los llamados lenguajes de bajo nivel.

Programación, lenguaje de primera generación en código binario
1943 El lenguaje de programación llamado Plankalkül es compilado por Konrad Zuse aunque duraría sin utilizar durante medio siglo.
1943-1948 compilación en lenguaje de programación para Eniac y Binac entre otros.

En la década comprendida entre 1950 y 1960 surgen los primeros lenguajes de programación de propósito general[6]:

– ) FORTRAN: Formula Translating system, publicado en 1954-1955; fue proyecto liderado por John Backus quien formalizó un método para definir la sintaxis de los lenguajes de programación[7]. Dicho lenguaje estaba dirigido a soluciones numéricas de problemas científicos, de fácil sintaxis e interpretación. Permitió entonces a los usuarios programar sus propias soluciones sin depender de programadores profesionales.

– ) ALGOL: Algorithmic Language (Lenguaje algorítmico), diseñado en 1958 y revisado en 1960. Muy efectivo para soluciones matemáticas numéricas pero inadecuado (Como el Fortran) para el manejo de datos no numéricos. Si bien no fue muy popular influyó en el desarrollo de otros lenguajes más comerciales. Compilado por Bauer, Bottenbruch, Rutishauser, Samelson, Backus, Katz, Perlis, Wegstein, Naur, Vauquois, van Wijngaarden, Woodger, Green y McCarthy.

– ) COBOL: Common Business Oriented Language, 1959; diseñado por Grace Hopper, William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves y Jean E. Sammet.

– ) BASIC: Beginner´s all-purpose symbolic instruction code[8]. Desarrollado para hacer su aprendizaje y uso lo más sencillo posible, por John Kemeny y Tom Kurz del Dartmouth College en 1965. Fue el primero de los lenguajes de alto nivel en emplearse en una red o base distribuida, y así mismo el primero en trabajar en modo interactivo o tiempo compartido.[9]

-) LISP, 1948, inventado por John McCarthy
-)Autocode (1852)
-)Flow Matic (1955) precursor del Cobol.
-)Comtran (1957) precursor del Cobol.
-)Rpg, 1959
De 1960-1990 esto fue lo que sucedió de manera resumida en la historia de los lenguajes de programación:
-)APL, 1962
-)Simula, 1962
-)Snobol, 1962
-)CPL, 1963, precursor del C
-)Basic, 1964
-)PL/I, 1964
-)BCPL, 1967 (Precursor del C)
-)C entre 1969-1973, desarrollado por Dennis Ritchie y Ken Thompson

-) Pascal, 1970, diseñado por Niklaus Wirth.
-)Forth, diseñado por Charles H. Moore, 1970.
-) Prolog, 1972, Colmerauer, Roussel, y Kowalski fueron sus desarrolladores.
-)ML, 1973 Robert Milner
-) Scheme, Diseñado por Guy L. Steele and Gerald Jay Sussman, año 1975.
-)SQL, 1978, diseñado por Donald D. Chamberlin y Raymond F. Boyce.
-) C++, 1980, Bjarne Stroustrup. Su nombre cambiaría en 1983 a C con clases.
-)Ada, 1983, diseñado por Jean Ichbiah.
-)Common Lisp, 1984, desarrollado por el comité ANSI X3J13.
-) Matlab (Matrix Laboratory), 1984.
-)Eiffel, 1985, diseñado por Bertrand Meyer.
-)Objective-C, 1986, diseñado por Brad Cox y Tom Love.
-)Erlang, 1986, desarrollado por Ericsson
-) Perl, 1987, diseñado por Larry Wall
-) Tcl, 1988, Tool command language, diseñado por John Ousterhout
-)Mathematica, 1988, elaborado por Wolfram Research
-) Fl, 1989, hecho por John Backus, John Williams y Edward Wimmers.
Entre 1990 y el año 2000 esto fue lo que sucedió en la historia de los lenguajes de computación:

1990, Haskell, creado por Simon Peyton Jones, Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralph Hinze, Paul Hudak, John Hughes, Thomas Johnson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman y Philip Wadler.
1991, Python, concebido por Guido van Rossum.
1991, Visual Basic, Microsoft.
1993,Ruby, Yukihiro Matsumoto
1993, Lua, del portugués que significa Luna, instaurado por Roberto Ierusalimschy, Waldemar Celes y Luiz Henrique de Figueiredo.
1994, Clos, Common Lisp Object System.
1995, Java, James Gosling y Sun Microsystems
1995, Embarcadero Delphi, Embarcadero Technologies.
1995, javaScript (JS), Brendan Eich
1995, PHP,Rasmus Lerdorf.
1996, webDNA
1997,REBOL,Relative Expression Based Object Language, Carl Sassenrath.
1997, D, Walter Bright y Andrei Alexandrescu.
Del 2000-2011

2000, ActionScript, Gary Grossman para Macromedia.
2000, C sharp, también conocido como C#, Microsoft
2001, Visual Basic .net, visual Basic para los frameworks de la web, Microsoft.
2002, F#, Microsoft Research y Don Syme.
2003,Groovy, James Strachan
2003,Scala, un programa para hacer mejor a java, maquinas virtuales, Martin Odersky.
2003, Factor, Slava Pestov.
2007, Clojure, Rich Hickey
2009,Go, Robert Griesemer,Rob Pike y Ken Thompson, Google.
2011, Dart, Google.

[1] Realizan la comunicación entre los seres humanos y las computadoras. « Estos lenguajes permiten expresar los programas o el conjunto de instrucciones que el operador humano desea que la computadora ejecute.»
[2] Bits (binary digits) o dígitos binarios, unos y ceros (1 y 0)
[3] Cual era el caso de ENIAC y la EDSAC
[4] Como TRANSCODE, desarrollado para la computadora FERUT de la Universidad de Toronto por Pat Hume y Beatrice Worsley.
[5] Ejemplo ADD (Sumar), CALL (ejecutar subrutina).

[6] También llamados de alto nivel, expresando su algoritmo pensando en las estructuras de pensamiento humano antes que en la ejecutoriedad de la máquina. Estos lenguajes de alto nivel son independientes de la máquina y requieren traductores o compiladores.
[7] Forma Backus-Naur o BNF.
[8] Código de instrucciones simbólicas de propósito general para principiantes.
[9] TREMBLAY jean Paul & BUNT Richard B. Introducción a la ciencia de las computadoras. Enfoque algorítmico. McGraw-Hill de México. México 1982, páginas 32-35.

Leer también: Primera generación de lenguajes de computación, programación

Ediciones 2012-18-2020