COMAL ( Common Algorithmic Language ) es un lenguaje de programación de computadoras desarrollado en Dinamarca por Børge R. Christensen y Benedict Løfstedt y lanzado originalmente en 1975. COMAL fue uno de los pocos lenguajes de programación estructurados que estaba disponible y se podía usar cómodamente en computadoras domésticas de 8 bits. . Se basó en el lenguaje de programación básico BASIC , agregando declaraciones de varias líneas y subrutinas bien definidas, entre otras adiciones.
Paradigma | Estructurado |
---|---|
Diseñada por | Børge R. Christensen, Benedict Løfstedt |
Apareció por primera vez | 1975 |
Disciplina de mecanografía | Fuerte |
Influenciado por | |
BÁSICO , Pascal |
"COMAL Kernel Syntax & Semantics" contiene la definición formal del lenguaje. [1] Otras extensiones son comunes a muchas implementaciones. [2] [3] [4]
Diseño
COMAL fue creado como una mezcla de los lenguajes de programación educativos predominantes de la época, BASIC , Pascal y, al menos en las versiones Commodore y Compis , los gráficos de tortuga de Logo . El lenguaje estaba destinado a introducir elementos de programación estructurados en un entorno donde normalmente se usaría BASIC.
Con el beneficio de la retrospectiva, COMAL parece un BÁSICO estructurado que tiene estándares libres y neutrales para el proveedor razonablemente bien redactados. [ investigación original? ] Nunca es necesario utilizar GOTO, y los números de línea son puramente para propósitos de edición en lugar de control de flujo. Sin embargo, tenga en cuenta que el lenguaje estandarizado solo admite la estructuración de control, no la estructuración de datos como registros o estructuras (las implementaciones comerciales como UniCOMAL 3 [5] admitían esto como una extensión).
Historia
COMAL fue desarrollado originalmente en Dinamarca por el profesor de matemáticas Børge R. Christensen. La escuela en la que él enseñaba había recibido una minicomputadora Data General NOVA 1200 en 1972, con la expectativa de que la escuela comenzara a enseñar ciencias de la computación . Se esperaba que Christensen, que había tomado un curso corto sobre el tema en la universidad, dirigiera el programa y mantuviera el sistema informático. El NOVA 1200 se suministró con Data General Extended BASIC , y Christensen se sintió rápidamente frustrado por la forma en que el lenguaje no estructurado llevó a los estudiantes a escribir código de baja calidad que era difícil de leer y, por lo tanto, marcar. Christensen se reunió con el científico informático Benedict Løfstedt, quien lo animó a leer Programación sistemática , el entonces nuevo libro sobre diseño de lenguajes de programación de Niklaus Wirth , el creador de Pascal . Christensen quedó impresionado, pero descubrió que no podía usar Pascal directamente, ya que carecía del shell interactivo que hacía que BASIC fuera tan fácil de desarrollar para los estudiantes. Durante los siguientes seis meses Christensen y Løfstedt se mantuvieron por correo para diseñar una alternativa a BASIC que conservaba sus elementos interactivos pero agregaba elementos estructurados de Pascal. En 1974, la definición del lenguaje estaba completa, pero Christensen no logró atraer el interés de las empresas de software en el desarrollo de una implementación. Por lo tanto, trabajó con dos de sus estudiantes, a quienes les había enseñado el lenguaje de máquina NOVA 1200 , para escribir una implementación ellos mismos, durante otros seis meses. La primera implementación de prueba de concepto (ejecutando un bucle de cinco líneas) estuvo lista el 5 de agosto de 1974, y la primera versión (en cinta de papel , ya que esto era lo que usaba el NOVA 1200 para entrada-salida ) estuvo lista en febrero de 1975 Los costos de desarrollo habían rondado los 300 dólares estadounidenses . Solo ahora el sistema (que anteriormente había utilizado un nombre danés interno) tomó el nombre COMAL , para Common Algorithmic Language , inspirado en ALGOL , con el que Christensen había estado experimentando. Por tanto, el primer lanzamiento se denominó COMAL 75 . Christensen posteriormente escribió un libro de texto sobre el idioma que se convirtió en Beginning COMAL . [6]
En 1978, Christensen comenzó a adaptar COMAL de modo que funcionara en microcomputadoras , que estaban empezando a estar disponibles, preocupado de que sin tal implementación se le exigiría enseñar y usar BASIC nuevamente cuando las escuelas danesas adquirieran las nuevas máquinas. En 1980, una versión de COMAL desarrollada junto con un grupo universitario pudo ejecutarse en el Zilog Z80 y, por lo tanto, COMAL 80 fue lanzado. Casi al mismo tiempo, una empresa danesa presentó el Comet , un microordenador muy capaz para la época, que sería la primera máquina en ejecutar una versión de lo que se vería como los últimos lanzamientos de COMAL. Christensen posteriormente dio un paso atrás del desarrollo COMAL alrededor de 1980-81, que fue entregado a grupos como UniComal, [5] iniciado por Mogens Kjaer, quien había escrito a Christensen con críticas a COMAL y posteriormente lo portó al Commodore PET para su lanzamiento 0.14. En ese momento, las escuelas danesas insistieron en que COMAL estuviera disponible en cualquier microcomputadora que compraran. [6]
A principios de la década de 1980, Apple Computer ganó un contrato para suministrar computadoras Apple II con CP / M y COMAL a las escuelas secundarias irlandesas. [7] Fue popular para la educación [8] y algunos libros de texto se escribieron localmente. [9] [10]
En 1984 Acornsoft lanzó una implementación COMAL, por David Christensen, Jim Warwick y David Evers, para sus computadoras BBC Micro y Acorn Electron de 8 bits (con un manual de Paul Christensen y Roy Thornton [11] )
Entre 1984-1987 , TeleNova , una subsidiaria del brazo industrial del sistema Swedish Telecoms, fabricó una PC de escritorio llamada " Compis " para el sector educativo. Se suministró una versión mejorada de COMAL como lenguaje de programación estándar para esta PC. Se crearon versiones para CP / M-86 y MS-DOS . La última versión está disponible para Windows XP . El manual de referencia (sueco) es ISBN 91-24-40022-X .
En 1990, Thomas Lundy y Rory O'Sullivan produjeron el texto definitivo sobre Programación COMAL. [10] Emparejaron y compararon COMAL con BBC Structured Basic .
A partir de 2016, COMAL todavía se utiliza activamente como lenguaje de programación educativo. [ cita requerida ] Algunas escuelas secundarias en el Reino Unido continúan usándolo para enseñar la asignatura de Computación.
Disponibilidad
COMAL estuvo disponible para:
- BBC Micro
- Commodore PET ( software de dominio público )
- Commodore 64 (software de dominio público)
- Comodoro 128
- Amiga
- Compis / Scandis
- CP / M
- IBM PC [5]
- Tiki 100
- Espectro ZX
- Grundy NewBrain
- Windows XP
Ejemplos de
- "¡Hola Mundo!"
IMPRIMA "¡HOLA MUNDO!"
- Condiciones
SI condición ENTONCES instrucciones ENDIF
- Bucles
PARA número : = 1 A 1000 DO PRINT número ENDFOR
- Imprimir declaraciones con variables
INPUT "¿Cuál es tu número favorito?" : Nmr # PAGE PRINT "Tu número favorito es" ; nmr #
Ver también
- ¡Acción! (lenguaje de programación)
Referencias
- ^ Ryan, Kevin. "Sintaxis y semántica del núcleo COMAL" (PDF) . Dansk Datahistorisk Forening . Consultado el 8 de noviembre de 2017 .
- ^ Bain, Richard; Lindsay, Len. "Definición y pruebas comunes de COMAL" . COMAL Today (24): 21–46 . Consultado el 20 de enero de 2020 .
- ^ "COMAL común - Palabras clave compatibles" . COMAL Hoy (25): 28 . Consultado el 20 de enero de 2020 .
- ^ "COMAL común - Sintaxis de palabras clave y ejemplos" . COMAL Today (25): 29–33 . Consultado el 20 de enero de 2020 .
- ^ a b c "UniComal 3.11 IBM PC" . Archivo de Internet . Consultado el 1 de abril de 2021 .
- ^ a b Christensen, Børge. "La Historia del COMAL" . COMAL Today (24): 1–10 . Consultado el 4 de septiembre de 2020 .
- ^ Moynihan, Michael D. (8 de agosto de 1983). "Cobertura COMAL fuera de Irlanda" . InfoWorld . 5 (32): 30 . Consultado el 15 de noviembre de 2017 .
- ^ Brady, Michael P. (mayo de 1986). El diseño de un primer curso de programación . Loughborough, Leicester, Reino Unido: Universidad Tecnológica de Loughborough. hdl : 2134/10392 . Consultado el 15 de noviembre de 2017 .
- ^ Kelly, John (1984). Fundamentos en Estudios de Computación con COMAL (Segunda ed.). Dublín, Irlanda: The Educational Company . Consultado el 20 de enero de 2020 .
- ^ a b Lundy, Thomas; O'Sullivan, Rory (1990). Inicio de programación estructurada en BASIC y COMAL . Dublín, Irlanda: Gill y Macmillan. ISBN 978-0717116676.
- ^ Thornton, Roy; Christensen, Paul (1984). COMAL en el microordenador BBC y Acorn Electron SBD 19 . Acornsoft. ISBN 978-0907876908.
Otras lecturas
- Thomas Lundy & Rory O'Sullivan: Programación estructurada inicial en BASIC y COMAL , 1990
- Roy Atherton: Programación estructurada con COMAL. Horwood, Chichester 1982, ISBN 0-85312-416-7 .
- Bramer, MA (1982). "COMAL 80 — Añadiendo estructura a BASIC". Informática y educación . 6 (2): 179-192. doi : 10.1016 / 0360-1315 (82) 90031-8 . ISSN 0360-1315 .
- Børge R. Christensen: Comal inicial. Horwood, Chichester 1982, ISBN 0-85312-435-3 .
- Børge R. Christensen: Guía de referencia COMAL . Grupo de usuarios de PET de Toronto, Toronto Ontario, ISBN 0-920607-00-4 .
- Leuschner, Burkhard (1987). "Comal es la cosa". Sistema . 15 (3): 373–376. doi : 10.1016 / 0346-251X (87) 90011-X . ISSN 0346-251X .
- Len Lindsay: manual COMAL . Reston Publishing, Reston, VA, 1983, ISBN 0-8359-0878-X .
- Gordon Shigley: Libro de trabajo COMAL . Grupo de Usuarios de Comal, Estados Unidos, 1985, ISBN 0-928411-05-2 .
enlaces externos
- OpenCOMAL para Unix , MS-DOS y Win32
- Una bifurcación de lo anterior para Unix compatible con los estándares , principalmente Linux y Mac OS X
- UniComal 3.11 empaquetado para ejecutarse bajo DOSBox
- Descripción de COMAL, versiones y características (1984)