CORAL - CORAL

Coral 66
Paradigmas procedimental , imperativo , estructurado
Familia ALGOL
Diseñada por Philip Woodward , IF Currie, M. Griffiths
Desarrollador Establecimiento de Royal Radar
Apareció por primera vez 1964 ; Hace 56 años ( 1964 )
Disciplina de mecanografía Estático , fuerte
Alcance Léxico
Lenguaje de implementación BCPL
Plataforma CTL Modular-1 , DEC Alpha , GEC , Ferranti , Honeywell , servidores de integridad HPE , Interdata 8/32, PDP-11 , SPARC , VAX , x86
SO VAX / VMS ; BSD Unix , Linux , Solaris
Influenciado por
ALGOL , JOVIAL , Fortran

CORAL , abreviatura de Computer On-line Real-time Applications Language es un lenguaje de programación desarrollado originalmente en 1964 en el Royal Radar Establishment (RRE), Malvern, Worcestershire , en el Reino Unido. La R fue originalmente para "radar", no "tiempo real". Fue influenciado principalmente por JOVIAL y, por lo tanto , ALGOL , pero no es un subconjunto de ninguno de los dos.

La versión más conocida, CORAL 66 , fue posteriormente desarrollada por IF Currie y M. Griffiths bajo los auspicios del Comité Inter-Establecimiento de Aplicaciones Informáticas (IECCA). Su definición oficial, editada por Woodward , Wetherall y Gorman, se publicó por primera vez en 1970.

En 1971, CORAL fue seleccionado por el Ministerio de Defensa como el lenguaje para futuras aplicaciones militares y para apoyar esto, se introdujo un programa de estandarización para asegurar que los compiladores CORAL cumplieran con las especificaciones. Este proceso fue posteriormente adoptado por el Departamento de Defensa de los Estados Unidos al definir a Ada .

Visión general

Coral 66 es un lenguaje de programación de propósito general basado en ALGOL 60 , con algunas características de Coral 64, JOVIAL y Fortran . Incluye tipos de registros estructurados (como en Pascal ) y admite el empaquetado de datos en un almacenamiento limitado (también como en Pascal). Al igual que Edinburgh IMP , permite el lenguaje ensamblador en línea (integrado) y también ofrece buenas comprobaciones y diagnósticos en tiempo de ejecución . Está diseñado para aplicaciones de sistemas integrados y computación en tiempo real , y para su uso en computadoras con capacidad de procesamiento limitada, incluidas aquellas limitadas a aritmética de punto fijo y aquellas sin soporte para la asignación dinámica de almacenamiento.

El lenguaje era un estándar interservicios para la programación militar británica y también fue ampliamente adoptado para fines civiles en la industria británica de control y automatización. Se utilizó para escribir software para las computadoras de Ferranti y General Electric Company (GEC) desde 1971 en adelante. También existen implementaciones para las plataformas Interdata 8/32, PDP-11 , VAX y Alpha y los servidores HPE Integrity ; para Honeywell y para Computer Technology Limited (CTL, más tarde ITL) Modular-1 ; y para SPARC con Solaris e Intel con Linux .

La reina Isabel II envió el primer correo electrónico de un jefe de estado del Royal Signals and Radar Establishment sobre ARPANET el 26 de marzo de 1976. El mensaje decía "Este mensaje para todos los usuarios de ARPANET anuncia la disponibilidad en ARPANET del compilador Coral 66 proporcionado por la computadora GEC 4080 en Royal Signals and Radar Establishment, Malvern, Inglaterra, ... Coral 66 es el lenguaje estándar de alto nivel en tiempo real adoptado por el Ministerio de Defensa ".

Como Coral estaba destinado a una variedad de trabajo en tiempo real, en lugar del procesamiento de datos de oficina general, no había un equivalente estandarizado a una biblioteca stdio . IECCA recomendó un paquete primitivo de entrada / salida (E / S) para acompañar a cualquier compilador (en un documento titulado Entrada / Salida de datos de caracteres en los programas de utilidad Coral 66 ). La mayoría de los implementadores evitaron esto al producir interfaces Coral para las bibliotecas Fortran existentes y, más tarde, C.

La contribución más significativa de CORAL a la informática puede haber sido la aplicación del control de calidad en los compiladores comerciales . Para tener un compilador CORAL aprobado por IECCA, y así permitir que un compilador se comercialice como un compilador CORAL 66, el compilador candidato tuvo que compilar y ejecutar un conjunto estándar de 25 programas de prueba y 6 programas de referencia. El proceso fue parte del proceso de aprobación de la Norma Británica (BS) 5905. Esta metodología fue observada y adaptada posteriormente por el Departamento de Defensa de Estados Unidos para la certificación de compiladores Ada .

Se recuperó el código fuente de un compilador de Coral 66 (escrito en BCPL ) y se escaneó el documento de Definición Oficial de Coral 66 de Her Majesty's Stationery Office (HMSO); la oficina de patentes del Ministerio de Defensa ha emitido una licencia para el proyecto de Historia de la Computación de Edimburgo para permitirles poner tanto el código como la referencia del idioma en línea para uso no comercial.

Variantes

Una variante de Coral 66 llamada PO-CORAL fue desarrollada a finales de la década de 1970 hasta principios de la de 1980 por la Oficina General de Correos Británica (GPO), junto con GEC , STC y Plessey , para su uso en las computadoras de control de central telefónica digital System X. Posteriormente se le cambió el nombre a BT-CORAL cuando British Telecom se separó de la oficina de correos. Las características únicas de este lenguaje fueron el enfoque en la ejecución en tiempo real, el procesamiento de mensajes, los límites en la ejecución de declaraciones entre la espera de la entrada y la prohibición de la recursividad para eliminar la necesidad de una pila .

Referencias

enlaces externos