fbpx
Wikipedia

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 multidisciplinar, que depende de (y en algunos casos afecta a) las matemáticas, la ingeniería del software, la lingüística, e incluso las 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,[¿cuál?] la historia de la teoría de lenguajes de programación precede incluso al desarrollo de los propios lenguajes de programación. El cálculo lambda, desarrollado por Alonzo Church y Stephen Cole Kleene en la década de 1930, es considerado 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, 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:

Subdisciplinas y campos relacionados

Hay varios campos de estudio que o bien caen dentro de la teoría de lenguajes de programación, o bien tienen una profunda influencia en ella; muchos de estos se superponen considerablemente.

  • Teoría de los compiladores es la base formal sobre la escritura de compiladores (o más generalmente traductores); programas que traducen un programa escrito en un lenguaje a otra forma. Las acciones de un compilador se dividen tradicionalmente en análisis sintáctico (escanear y analizar), análisis semántico (determinando que es lo que debería de hacer un programa), optimización (mejorando el rendimiento indicado por cierta medida, típicamente la velocidad de ejecución) y generación de código (generando la salida de un programa equivalente en el lenguaje deseado; a menudo el conjunto de instrucciones de una CPU).
  • La Teoría de tipos es el estudio de sistemas de tipos, que son "métodos sintácticos tratables para proveer la ausencia de ciertos comportamientos de programa mediante la clasificación de frases según los tipos de valores que computan." (Types and Programming Languages, MIT Press, 2002). Muchos lenguajes de programación se distinguen por las características de sus sistemas de tipos.
  • La Semántica formal es la especificación formar del comportamiento de programas de ordenador y lenguajes de programación.
  • La Transformación de programas es el proceso de transformar un programa de una forma (lenguaje) a otra forma; el análisis de programas es problema general de examinar un programa mediante la determinación de sus características clave (como la ausencia de clases de errores de programa).
  • Sistemas en tiempo de ejecución se refiere al desarrollo de entornos en tiempo de ejecución para lenguajes de programación y sus componentes, incluyendo máquinas virtuales, recolección de basura, e interfaces para funciones externas.
  • Análisis comparativo de lenguajes de programación busca clasificar los lenguajes de programación en diferentes tipos basados en sus características; amplias categorías de diferentes lenguajes de programación se conocen frecuentemente como paradigmas de computación.
  • Metaprogramación es la generación de programas de mayor orden que, cuando se ejecutan, producen programas (posiblemente en un lenguaje diferente, o en un subconjunto del lenguaje original) como resultado.
  • Lenguajes dedicados son lenguajes construidos para resolver problemas en un dominio de problemas en particular de manera eficiente.

Además, PLT hace uso de muchas otras ramas de las matemáticas, ingeniería del software, lingüística, e incluso ciencias cognitivas.

Revistas y publicaciones específicas sobre PLT

Entre las revistas que publican investigación sobre la teoría de lenguajes de programación están:

  • ACM Transactions on Programming Languages and Systems
  • Computer Languages, Systems, and Structures [2]
  • Journal of Functional Programming, The
  • Journal of Functional and Logic Programming, The
  • Journal of Symbolic Computation, The
  • Theoretical Computer Science

Una bibliografía más completa está disponible ; ver también la siguiente lista de publicaciones sobre informática.

Véase también

Enlaces externos

  • Computer Languages History
  • Programming Language Research
  • Types and Programming Languages by Benjamin Pierce (MIT Press 2002) [3]
  • Programming Language Pragmatics, 2nd Edition by Michael Scott (Morgan-Kaufmann, 2006) [4]
  • Essentials of Programming Languages by Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes (MIT Press 2001)
  •   Datos: Q2670534
  •   Multimedia: Programming language theory

teoría, lenguajes, programación, teoría, lenguajes, programación, rama, ciencias, computación, encarga, diseño, implementación, análisis, caracterización, clasificación, lenguajes, programación, características, campo, multidisciplinar, depende, algunos, casos. La teoria de lenguajes de programacion es una rama de la ciencias de la computacion que se encarga del diseno implementacion analisis caracterizacion y clasificacion de lenguajes de programacion y sus caracteristicas Es un campo multidisciplinar que depende de y en algunos casos afecta a las matematicas la ingenieria del software la linguistica e incluso las ciencias cognitivas Es una rama bien reconocida de la informatica y a fecha de 2006 un area activa de investigacion con resultados publicados en un gran numero de revistas dedicadas a la PLT asi como en general en publicaciones de informatica e ingenieria La mayoria de los programas de los estudiantes universitarios de informatica requieren trabajar en este tema Un simbolo no oficial de la teoria de lenguajes de programacion es la letra griega lambda en minusculas Este uso deriva del calculo lambda un modelo computacional ampliamente usado por investigadores de lenguajes de programacion Muchos textos y articulos sobre programacion y lenguajes de programacion utilizan lambda de una u otra manera Ilustra la portada del texto clasico Estructura e Interpretacion de Programas de Ordenador y el titulo de muchos de los llamados Articulos Lambda escritos por Gerald Jay Sussman y Guy Steele creadores del lenguaje de programacion Scheme Un sitio muy conocido sobre teoria de lenguajes de programacion se llama Lambda the Ultimate Lambda el primordial en honor al trabajo de Sussman y Steele Indice 1 Historia 2 Subdisciplinas y campos relacionados 3 Revistas y publicaciones especificas sobre PLT 4 Vease tambien 5 Enlaces externosHistoria Editar Cuadro cronologico y taxonomico de los lenguajes de programacion Desde algunos puntos de vista cual la historia de la teoria de lenguajes de programacion precede incluso al desarrollo de los propios lenguajes de programacion El calculo lambda desarrollado por Alonzo Church y Stephen Cole Kleene en la decada de 1930 es considerado uno de los primeros lenguajes de programacion del mundo incluso pese a que tenia intencion de modelar la computacion mas que ser un medio para que los programadores describan algoritmos para un sistema informatico Muchos lenguajes de programacion funcional se han caracterizado por proveer una fina apariencia al calculo lambda y muchos se describen en sus terminos El primer lenguaje de programacion como tal que se propuso fue Plankalkul que fue disenado por Konrad Zuse en los anos 40 pero no fue conocido publicamente hasta 1972 y no implementado hasta 2000 cinco anos despues de la muerte de Zuse El primer lenguaje de programacion ampliamente conocido y exitoso fue Fortran desarrollado entre 1954 y 1957 por un equipo de investigadores en IBM liderados por John Backus El exito de FORTRAN condujo a la creacion de un comite de cientificos para desarrollar un lenguaje de programacion universal el resultado de su esfuerzo fue ALGOL 58 Separadamente John McCarthy del MIT desarrollo el lenguaje de programacion Lisp basado en el calculo Lambda el primer lenguaje con origenes academicos en conseguir el exito Con el triunfo de estos esfuerzos iniciales los lenguajes de programacion se convirtieron en un tema candente en la investigacion en la decada de 1960 y en adelante Algunos otros eventos claves en la historia de la teoria de lenguajes de programacion desde entonces En la decada de 1950 Noam Chomsky desarrollo la Jerarquia de Chomsky en el campo de la linguistica un descubrimiento que impacto directamente a la teoria de lenguajes de programacion y otras ramas de la informatica En la decada de 1960 el lenguaje Simula fue desarrollado por Ole Johan Dahl y Kristen Nygaard muchos consideran que es el primero lenguaje orientado a objetos Simula tambien introdujo el concepto de corrutinas Durante 1970 Un pequeno equipo de cientifico en Xerox PARC encabezado por Alan Kay elaboran Smalltalk un lenguaje orientado a objetos muy conocido por su novedoso hasta ese momento desconocido entorno de desarrollo Sussman y Steele desarrollan el lenguaje de programacion Scheme un dialecto de Lisp que incorpora Ambitos lexicos un espacio de nombres unificado y elementos del modelo Actor incluyendo continuaciones de primera clase Backus en la conferencia del Premio Turing de 1977 asedio el estado actual de los lenguajes industriales y propuso una nueva clase de lenguajes de programacion ahora conocidos como lenguajes de programacion funcional La aparicion del process calculi como el calculo de sistemas comunicantes de Robin Milner y el modelo de Comunicacion secuencial de procesos de C A R Hoare asi como modelos similar de concurrencia como el Modelo Actor de Carl Hewitt La aplicacion de la teoria de tipos como una disciplina a los lenguajes de programacion liderada por Milner esta aplicacion ha conducido a un tremendo avance en la teoria de tipos en cuestion de anos En la decada de 1990 Philip Wadler introdujo el uso de monads para estructurar programas escritos en lenguajes de programacion funcional Subdisciplinas y campos relacionados EditarHay varios campos de estudio que o bien caen dentro de la teoria de lenguajes de programacion o bien tienen una profunda influencia en ella muchos de estos se superponen considerablemente Teoria de los compiladores es la base formal sobre la escritura de compiladores o mas generalmente traductores programas que traducen un programa escrito en un lenguaje a otra forma Las acciones de un compilador se dividen tradicionalmente en analisis sintactico escanear y analizar analisis semantico determinando que es lo que deberia de hacer un programa optimizacion mejorando el rendimiento indicado por cierta medida tipicamente la velocidad de ejecucion y generacion de codigo generando la salida de un programa equivalente en el lenguaje deseado a menudo el conjunto de instrucciones de una CPU La Teoria de tipos es el estudio de sistemas de tipos que son metodos sintacticos tratables para proveer la ausencia de ciertos comportamientos de programa mediante la clasificacion de frases segun los tipos de valores que computan Types and Programming Languages MIT Press 2002 Muchos lenguajes de programacion se distinguen por las caracteristicas de sus sistemas de tipos La Semantica formal es la especificacion formar del comportamiento de programas de ordenador y lenguajes de programacion La Transformacion de programas es el proceso de transformar un programa de una forma lenguaje a otra forma el analisis de programas es problema general de examinar un programa mediante la determinacion de sus caracteristicas clave como la ausencia de clases de errores de programa Sistemas en tiempo de ejecucion se refiere al desarrollo de entornos en tiempo de ejecucion para lenguajes de programacion y sus componentes incluyendo maquinas virtuales recoleccion de basura e interfaces para funciones externas Analisis comparativo de lenguajes de programacion busca clasificar los lenguajes de programacion en diferentes tipos basados en sus caracteristicas amplias categorias de diferentes lenguajes de programacion se conocen frecuentemente como paradigmas de computacion Metaprogramacion es la generacion de programas de mayor orden que cuando se ejecutan producen programas posiblemente en un lenguaje diferente o en un subconjunto del lenguaje original como resultado Lenguajes dedicados son lenguajes construidos para resolver problemas en un dominio de problemas en particular de manera eficiente Ademas PLT hace uso de muchas otras ramas de las matematicas ingenieria del software linguistica e incluso ciencias cognitivas Revistas y publicaciones especificas sobre PLT EditarEntre las revistas que publican investigacion sobre la teoria de lenguajes de programacion estan ACM Transactions on Programming Languages and Systems 1 Computer Languages Systems and Structures 2 Journal of Functional Programming The Journal of Functional and Logic Programming The Journal of Symbolic Computation The Theoretical Computer ScienceUna bibliografia mas completa esta disponible aqui ver tambien la siguiente lista de publicaciones sobre informatica Vease tambien EditarAnexo Cronologia de los lenguajes de programacion Lambda the UltimateEnlaces externos EditarThe History of Haskell Computer Languages History Frank Atanassow s PLT Online Programming Language Research Types and Programming Languages by Benjamin Pierce MIT Press 2002 3 Programming Language Pragmatics 2nd Edition by Michael Scott Morgan Kaufmann 2006 4 Essentials of Programming Languages by Daniel P Friedman Mitchell Wand and Christopher T Haynes MIT Press 2001 5 Datos Q2670534 Multimedia Programming language theory Obtenido de https es wikipedia org w index php title Teoria de lenguajes de programacion amp oldid 141960510, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos