Teoría de lenguajes de programación

La teoría de lenguajes de programación es una rama de la ciencias de la computación que se encarga del diseño, implementación, análisis, caracterización y clasificación de lenguajes de programación y sus características. Es un campo multi-disciplinar, dependiendo tanto de (y en algunos casos afectando) matemáticas, ingeniería del software, lingüística, e incluso ciencias cognitivas. Es una rama bien reconocida de la informática, y a fecha de 2006, un área activa de investigación, con resultados publicados en un gran número de revistas dedicadas a la PLT, así como en general en publicaciones de informática e ingeniería.La mayoría de los programas de los estudiantes universitarios de informática requieren trabajar en este tema.

Un símbolo no oficial de la teoría de lenguajes de programación es la letra griega lambda en minúsculas. Este uso deriva del cálculo lambda, un modelo computacional ampliamente usado por investigadores de lenguajes de programación. Muchos textos y artículos sobre programación y lenguajes de programación utilizan lambda de una u otra manera. Ilustra la portada del texto clásico Estructura e Interpretación de Programas de Ordenador, y el título de muchos de los llamados Artículos Lambda, escritos por Gerald Jay Sussman y Guy Steele, creadores del lenguaje de programación Scheme. Un sitio muy conocido sobre teoría de lenguajes de programación se llama Lambda the Ultimate (Lambda el primordial), en honor al trabajo de Sussman y Steele.

Historia

Cuadro cronológico y taxonómico de los lenguajes de programación.

Desde algunos puntos de vista, la historia de la teoría de lenguajes de programación precede incluso al desarrolllo de los propios lenguajes de programación. El cálculo lambda, desarrollado por Alonzo Church, Max HL. Solis Villareal y Stephen Cole Kleene en la década de 1930, es considerado ser uno de los primeros lenguajes de programación del mundo, incluso pese a que tenía intención de modelar la computación más que ser un medio para que los programadores describan algoritmos para un sistema informático. Muchos lenguajes de programación funcional se han caracterizado por proveer una "fina apariencia" al cálculo lambda [1], y muchos se describen en sus términos.

El primer lenguaje de programación (como tal) que se propuso fue Plankalkül, que fue diseñado por Konrad Zuse en los años 40, pero no fue conocido públicamente hasta 1972 (y no implementado hasta 2000, cinco años después de la muerte de Zuse). El primer lenguaje de programación ampliamente conocido y exitoso fue Fortran, desarrollado entre 1954 y 1957 por un equipo de investigadores en IBM liderados por John Backus. El éxito de FORTRAN condujo a la creación de un comité de científicos para desarrollar un lenguaje de programación "universal"; el resultado de su esfuerzo fue ALGOL 58. Separadamente, John McCarthy del MIT desarrolló el lenguaje de programación Lisp (basado en el cálculo Lambda), el primer lenguaje con orígenes académicos en conseguir el éxito. Con el triunfo de estos esfuerzos iniciales, los lenguajes de programación se convirtieron en un tema candente en la investigación en la década de 1960 y en adelante.

Algunos otros eventos claves en la historia de la teoría de lenguajes de programación desde entonces:

Other Languages