stringtranslate.com

CPL (lenguaje de programación)

CPL ( Lenguaje de programación combinado ) es un lenguaje de programación multiparadigma desarrollado a principios de los años 1960. Es un ancestro temprano del lenguaje C a través de los lenguajes BCPL y B.

Diseño

CPL [1] fue desarrollado inicialmente en el Laboratorio de Matemáticas de la Universidad de Cambridge como el "Lenguaje de programación de Cambridge" y luego publicado conjuntamente entre Cambridge y la Unidad de Computación de la Universidad de Londres como el "Lenguaje de programación combinado" (CPL también fue apodado por algunos como "Cambridge Plus London" [2] o "Lenguaje de programación de Christopher" [3] ). Christopher Strachey , David Barron y otros participaron en su desarrollo. El primer artículo que lo describe se publicó en 1963, mientras se implementaba en Titan Computer en Cambridge y Atlas Computer en Londres.

Estaba fuertemente influenciado por ALGOL 60 , pero en lugar de ser extremadamente pequeño, elegante y simple, CPL estaba destinado a un área de aplicación más amplia que los cálculos científicos y, por lo tanto, era mucho más complejo y no tan elegante como ALGOL 60. CPL era un gran lenguaje para es la hora. CPL intentó ir más allá de ALGOL para incluir control de procesos industriales, procesamiento de datos comerciales y posiblemente algunos de los primeros juegos de línea de comandos. [4] CPL estaba destinado a permitir programación de bajo nivel y abstracciones de alto nivel utilizando el mismo lenguaje.

Sin embargo, la CPL se implementó muy lentamente. El primer compilador CPL probablemente se escribió alrededor de 1970, [5] pero el lenguaje nunca ganó mucha popularidad y parece haber desaparecido sin dejar rastro en algún momento de la década de 1970.

BCPL (para "Basic CPL", aunque originalmente "Bootstrap CPL") era un lenguaje mucho más simple basado en CPL pensado principalmente como un lenguaje de programación de sistemas , particularmente para escribir compiladores ; [6] se implementó por primera vez en 1967, antes de la primera implementación de CPL. BCPL luego condujo, a través de B , al popular e influyente lenguaje de programación C.

Ejemplo

La función MAX formulada por Peter Norvig: [5]

Max(Items, ValueFunction) = valor de§ (Mejor, MejorVal) = (NIL, -∞)mientras que los artículos lo hacen §(Artículo, Val) = (Cabeza (Artículos), ValorFunción (Cabeza (Artículos)))si Val > BestVal entonces (Best, BestVal) := (Artículo, Val)Artículos := Resto(Artículos) ̸§el resultado es Mejor ̸§

El símbolo del bloque de la sección de cierre utilizado aquí ( ̸§) es una aproximación del símbolo original, en el que el trazo transversal es vertical. Está disponible en Unicode, §⃒pero no se muestra correctamente en muchos sistemas.

Implementaciones

Se cree que CPL nunca se implementó completamente en la década de 1960, existiendo como una construcción teórica con algunos trabajos de investigación sobre implementaciones parciales. [7] [8]

Peter Norvig ha escrito (para Yapps, un compilador-compilador de Python ) un sencillo traductor de CPL a Python para máquinas modernas. [5] [9]

Ver también

Referencias

  1. ^ Barrón, DW; Buxton, JN; Hartley, DF; Nixon, E.; Strachey, C. (1 de agosto de 1963). "Las características principales de CPL". La revista informática . 6 (2): 134-143. doi : 10.1093/comjnl/6.2.134 . ISSN  0010-4620.
  2. ^ "Clive Feather sobre CPL y BCPL". Lysator.liu.se . Consultado el 18 de agosto de 2013 .
  3. ^ Jensen, Richard (9 de diciembre de 2020). ""Una cosa muy estúpida ": los orígenes de C". Ars Técnica . Consultado el 10 de diciembre de 2020 .
  4. ^ Yadav, P. (2005). Computación e Idiomas. Editorial Descubrimiento. ISBN 978-81-8356-041-2.
  5. ^ abc Norvig, Peter (23 de agosto de 2011). "Premonitorio pero no perfecto: una mirada retrospectiva a un artículo de Scientific American de 1966 sobre análisis de sistemas". Red de blogs de Scientific American . Consultado el 10 de diciembre de 2020 .
  6. ^ Mitchell, John C.; Apto, Krzysztof (2003). Conceptos en lenguajes de programación. Prensa de la Universidad de Cambridge. ISBN 978-0-521-78098-8.
  7. ^ Coulouris, GF (1 de enero de 1968). "El compilador CPL1 de Londres". La revista informática . 11 : 26–30. doi : 10.1093/comjnl/11.1.26 .
  8. ^ Coulouris, George (2013). "Computer Resurrection Número 62 / El compilador Compilador - Reflexiones de un usuario 50 años después / El compilador CPL1". Sociedad de Conservación de Computadoras . Consultado el 3 de mayo de 2023 .
  9. ^ Noruega, Peter. "Programa completo de damas anotadas". norvig.com . Consultado el 11 de junio de 2021 .

Bibliografía