Algo de historia¶

Imagen generada con Inteligencia Artificial
La historia de la programación está relacionada directamente con la aparición de los computadores, que ya desde el siglo XV tuvo sus inicios con la construcción de una máquina que realizaba operaciones básicas y raíces cuadradas (Gottfried Wilheml von Leibniz); aunque en realidad la primera gran influencia hacia la creación de los computadores fue la máquina diferencial para el cálculo de polinomios, proyecto no concluido de Charles Babbage (1793-1871) con el apoyo de Lady Ada Countess of Lovelace (1815-1852), primera persona que incursionó en la programación y de quien proviene el nombre del lenguaje de programación ADA creado por el DoD en la década de 1970.
Hitos de la computación¶
La siguiente tabla es un resumen granito de arena de los principales hitos en la historia de la computación:
| Año | Personaje | Aporte |
|---|---|---|
| 1694 | Gottfried Leibniz | Máquina de operaciones básicas. |
| 1835 | Charles Babbage | Máquina diferencial para el cálculo de polinomios. |
| 1842 | Ada Lovelace | Matemática, informática y escritora británica. Primera programadora de la historia por el desarrollo de algoritmos para la máquina analítica de Babbage1. |
| 1854 | George Boole | Contribuyó al algebra binaria y a los sistemas de circuitos de computadora (álgebra booleana). |
| 1890 | Herman Hollerit | Creador de un sistema para automatizar el censo de Estados Unidos. |
| 1936 | Alan Turing | Máquina de Turing - una máquina capaz de resolver problemas - Aportes de Lógica Matemática - Computadora con tubos de vacío. |
| 1942 | John Atanasoff | Desarrolló (junto con Clifford Berry) la primera computadora digital electrónica patentada: Atanasoff Berry Computer (ABC). |
| 1944 | Howard Aiken | En colaboración con IBM desarrolló el Mark I, una computadora electromecánica (16m. de largo y 2m. de alto) que podía realizar las cuatro operaciones básicas y trabajar con información tabular. |
| 1945 | Grace Hopper | Primera programadora que utilizó el Mark I (instrucciones en código máquina). |
| 1946 | John W. Mauchly | Junto a John P. Eckert desarrolló una computadora electrónica completamente operacional a gran escala llamada ENIAC. |
| 1946 | John Von Neumann | Propuso guardar en memoria no solo la información, sino también los programas, acelerando los procesos. |

Ada Lovelace: primera programadora de la historia
A partir de los años 50 los avances en las ciencias de la computación se aceleraron de manera significativa. Se reemplazaron los tubos de vacío por transistores en 1958 y en el mismo año, se sustituyeron por circuitos integrados; y en 1961 se miniaturizaron en chips de silicio. En 1971 apareció el primer microprocesador de Intel; y en 1973 el primer sistema operativo CP/M. El primer computador personal es comercializado por IBM en el año 1980.
De los computadores a la programación¶
De acuerdo con este breve viaje por la historia, la programación —obviamente— está vinculada a la aparición de los computadores, y los lenguajes tuvieron también su evolución. Inicialmente, como ya hemos visto, se programaba en código binario, es decir en cadenas de 0s y 1s, que es el lenguaje que entiende directamente el computador, tarea extremadamente difícil; luego se creó el lenguaje ensamblador, que ya introdujo un nivel de abstracción permitiendo usar instrucciones (aunque bastante rudimentarias) lo que resultaba más cómodo. Posteriormente aparecieron los lenguajes de alto nivel, que en general, utilizan palabras en inglés, para dar las órdenes a seguir, para lo cual utilizan un proceso intermedio entre el lenguaje máquina y el nuevo código llamado código fuente; este proceso se realiza por parte de un compilador.
Cronología de los lenguajes de programación¶
Desde la década de 1950 se han sucedido multitud de lenguajes de programación que cada vez incorporan más funcionalidades destinadas a cubrir las necesidades del desarrollo de aplicaciones. A continuación se muestra una tabla con la historia de los lenguajes de programación más destacados:
El número actual de lenguajes de programación depende de lo que se considere un lenguaje de programación y a quién se pregunte:
| Organismo | Número de lenguajes |
|---|---|
| TIOBE | 250 |
| Wikipedia | 700 |
| Language List | 2500 |
| Online Historical Encyclopaedia of Programming Languages | 9000 |
Creadores de lenguajes de programación¶
El avance de la computación está íntimamente relacionado con el desarrollo de los lenguajes de programación. Sus creadores y creadoras juegan un rol fundamental en la historia tecnológica. Veamos algunas de estas personas2:
| Año | Creador/a | Lenguaje |
|---|---|---|
| 1954 | Nathaniel Rochester | Ensamblador: IBM 701 |
| 1955 | Grace Hopper | Flow-Matic COBOL |
| 1957 | John Backus | FORTRAN |
| 1958 | John McCarthy | LISP |
| 1962 | Kenneth E. Iverson | APL |
| 1967 | Seymour Papert | Logo |
| 1968 | Stephen Wolfram | Mathematica |
| 1970 | Niklaus Wirth | Pascal |
| 1972 | Dennis Ritchie | C |
| 1972 | Alan Kay | Smalltalk |
| 1973 | Robin Milner | ML |
| 1977 | Brian Kernighan | Awk |
| 1983 | Anders Hejlsberg | Turbo Pascal |
| 1983 | Bjarne Stroustrup | C++ |
| 1985 | Bertrand Meyer | Eiffel |
| 1986 | Joe Armstrong | Erlang |
| 1987 | Larry Wall | Perl |
| 1991 | Alan Cooper | Visual Basic |
| 1991 | Guido van Rossum | Python |
| 1991 | James Gosling | Oak Java |
| 1995 | Yukihiro Matsumoto | Ruby |
| 1995 | Brendan Eich | JavaScript |
| 2003 | Martin Odersky | Scala |
| 2006 | Graydon Hoare | Rust |
| 2007 | Mitch Resnick | Scratch |
| 2009 | Ken Thompson | Go |
| 2012 | Anders Heijlsberg | TypeScript |