Historia de la programación

La historia de los lenguajes de programación abarca desde la documentación de las primeras computadoras mecánicas hasta las herramientas modernas para el desarrollo de software.

Los primeros lenguajes de programación eran altamente especializados y dependían de la notación matemática y de una sintaxis oscura similar.

A principios de los años 40s existieron algunos intentos de crear subrutinas, anidamientos, y algunas técnicas fundamentales de la programación actual y disciplinas para programar computadoras digitales.

Grace Hopper inventó uno de los primeros enlazadores y popularizó la idea de los lenguajes de programación independientes de la máquina, lo que condujo al desarrollo de COBOL.

En sus comienzos las computadoras interpretaban solo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código de máquina, siendo este excesivamente complicado para programar. De hecho solo consiste en cadenas de números 1 y 0 (binario)

Para facilitar el trabajo de programación, los primeros científicos, que trabajaban en el área, decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o abreviaturas provenientes del inglés; las codificaron y crearon así un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador.

A lo largo del siglo XX, la investigación en la teoría de los compiladores condujo a la creación de lenguajes de programación de alto nivel, que utilizan una sintaxis más accesible para comunicar instrucciones.

El primer lenguaje de programación de alto nivel fue Plankalkül, creado por Konrad Zuse entre 1942 y 1945. El primer lenguaje de alto nivel en tener un compilador asociado fue creado por Corrado Böhm en 1951, para su tesis doctoral.

El primer lenguaje disponible comercialmente fue FORTRAN (FORmula TRANslation), desarrollado en 1956 (el primer manual apareció en 1956, pero desarrollado por primera vez en 1954) por un equipo dirigido por John Backus en IBM.


Algunos de los lenguajes de programación desarrollados en este periodo:

  • 1951 – Regional Assembly Language
  • 1952 – Autocode
  • 1954 – IPL (forerunner to LISP)
  • 1955 – FLOW-MATIC (led to COBOL)
  • 1957 – FORTRAN (first compiler)
  • 1957 – COMTRAN (precursor to COBOL)
  • 1958 – LISP
  • 1958 – ALGOL 58
  • 1959 – FACT (forerunner to COBOL)
  • 1959 – COBOL
  • 1959 – RPG
  • 1962 – APL
  • 1962 – Simula
  • 1962 – SNOBOL
  • 1963 – CPL (forerunner to C)
  • 1964 – Speakeasy
  • 1964 – BASIC
  • 1964 – PL/I
  • 1966 – JOSS
  • 1966 - MUMPS
  • 1967 – BCPL (forerunner to B)
  • 1968 – Logo
  • 1969 – B (forerunner to C)
  • 1970 – Pascal
  • 1970 – Forth
  • 1972 – C
  • 1972 – Smalltalk
  • 1972 – Prolog
  • 1973 – ML
  • 1975 – Scheme
  • 1978 – SQL (a query language, later extended)

La década de 1980 fueron años de relativa consolidación en idiomas imperativos. En lugar de inventar nuevos paradigmas, todos estos movimientos elaboraron sobre las ideas inventadas en la década anterior. C ++ combina que está orientada a objetos y de programación de sistemas.

El gobierno de los Estados Unidos estandarizó Ada, un lenguaje de programación de sistemas destinado a ser utilizado por contratistas de defensa. En Japón y en otros lugares, se gastaron grandes sumas en investigar los llamados lenguajes de programación de quinta generación que incorporaron construcciones de programación lógica.

La comunidad de lenguajes funcionales se movió para estandarizar ML y Lisp. La investigación en Miranda, un lenguaje funcional con evaluación perezosa comenzó a establecerse en esta década.

Una nueva tendencia importante en el diseño del lenguaje fue un mayor enfoque en la programación para sistemas a gran escala mediante el uso de módulos o unidades organizativas de código a gran escala. Modula, Ada y ML desarrollaron notables sistemas de módulos en la década de 1980.

La década de 1980 también trajo avances en la implementación del lenguaje de programación. El movimiento RISC en la arquitectura de computadoras postuló que el hardware debería diseñarse para compiladores en lugar de para programadores de ensamblaje humanos. Ayudado por las mejoras en la velocidad del procesador que permitieron técnicas de compilación cada vez más agresivas, el movimiento RISC despertó un mayor interés en la tecnología de compilación para lenguajes de alto nivel.


Algunos lenguajes notables en esta época:

  • 1980 – C++ (as C with classes, renamed in 1983)
  • 1983 – Ada
  • 1984 – Common Lisp
  • 1984 – MATLAB
  • 1984 – dBase III, dBase III Plus (Clipper and FoxPro as FoxBASE, later developing into Visual FoxPro)
  • 1985 – Eiffel
  • 1986 – Objective-C
  • 1986 – LabVIEW (Visual Programming Language)
  • 1986 – Erlang
  • 1987 – Perl
  • 1988 – Tcl
  • 1988 – Wolfram Language (como parte de Mathematica)
  • 1989 – FL (Backus) 

El rápido crecimiento de Internet a mediados de la década de 1990 fue el próximo gran evento histórico en lenguajes de programación.

Al abrir una plataforma radicalmente nueva para los sistemas informáticos, Internet creó una oportunidad para la adopción de nuevos idiomas.

En particular, el lenguaje de programación JavaScript ganó popularidad debido a su temprana integración con el navegador web Netscape Navigator.

Varios otros lenguajes de script lograron un uso generalizado en el desarrollo de aplicaciones personalizadas para servidores web como PHP. La década de 1990 no vio una novedad fundamental en los lenguajes imperativos, sino mucha recombinación y maduración de viejas ideas.

Esta era comenzó la difusión de lenguajes funcionales. Una gran filosofía de conducción fue la productividad del programador. Surgieron muchos lenguajes de "desarrollo rápido de aplicaciones" (RAD), que generalmente venían con un IDE, recolección de basura, y eran descendientes de idiomas más antiguos. Todos estos lenguajes estaban orientados a objetos. Estos incluyen Object Pascal, Visual Basic y Java. Java en particular recibió mucha atención.


Algunos lenguajes notables del periodo fueron:

  • 1990 – Haskell
  • 1991 – Python
  • 1991 – Visual Basic
  • 1993 – Lua
  • 1993 – R
  • 1994 – CLOS (part of ANSI Common Lisp)
  • 1995 – Ruby
  • 1995 – Ada 95
  • 1995 – Java
  • 1995 – Delphi (Object Pascal)
  • 1995 – JavaScript
  • 1995 – PHP
  • 1997 – Rebol

La evolución del lenguaje de programación continúa, tanto en la industria como en la investigación. Algunas de las tendencias recientes han incluido:

Aumento de la compatibilidad con la programación funcional en los lenguajes principales utilizados comercialmente, incluida la programación funcional pura para hacer que el código sea más fácil de razonar y de paralelizar (tanto a nivel micro como macro)

Desarrollo de software orientado a componentes.


Algunos lenguajes de programación de la época actual:

  • 2000 – ActionScript
  • 2001 – C#
  • 2001 – D
  • 2002 – Scratch
  • 2003 – Groovy
  • 2003 – Scala
  • 2005 – F#
  • 2006 – PowerShell
  • 2007 – Clojure
  • 2009 – Go
  • 2010 – Rust
  • 2011 – Dart
  • 2011 – Kotlin
  • 2011 – Elixir
  • 2012 – Julia
  • 2012 - TypeScript
  • 2014 – Swift

La tendencia de construcción de lenguajes de programación sigue creciendo y mejorando las técnicas utilizadas en la actualidad.