Ada es un lenguaje de programación orientado a objetos y fuertemente tipado de forma estática que fue diseñado por Jean Ichbiah de CII Honeywell Bull por encargo del Departamento de Defensa de los Estados Unidos. Es un lenguaje multipropósito, orientado a objetos y concurrente, pudiendo llegar desde la facilidad de Pascal hasta la flexibilidad de C++.
Fue diseñado con la seguridad en mente y con una filosofía orientada a la reducción de errores comunes y difíciles de descubrir. Para ello se basa en un tipado muy fuerte y en chequeos en tiempo de ejecución (desactivables en beneficio del rendimiento). La sincronización de tareas se realiza mediante la primitiva rendezvous.
Ada se usa principalmente en entornos en los que se necesita una gran seguridad y fiabilidad como la defensa, la aeronáutica (Boeing o Airbus), la gestión del tráfico aéreo (como Indra en España) y la industria aeroespacial entre otros.
El lenguaje fue diseñado bajo encargo del Departamento de Defensa de los Estados Unidos (DoD). Durante los años 1970, este departamento tenía proyectos en una infinidad de lenguajes y estaba gastando mucho dinero en software. Para solucionarlo se buscó un lenguaje único que cumpliese unas ciertas normas recogidas en el documento Steelman. Después de un estudio de los lenguajes existentes en la época se decidió que ninguno las cumplía totalmente, por lo que se hizo un concurso público al que se presentaron cuatro equipos, cuyas propuestas se nombraron con un color: Rojo (Intermetrics), Verde (CII Honeywell Bull), Azul (SofTEch) y Amarillo (SRI International). Finalmente en mayo de 1979 se seleccionó la propuesta Verde diseñada por Jean Ichbiah de CII Honeywell Bull, y se le dio el nombre de Ada. Esta propuesta era un sucesor de un lenguaje anterior de este equipo llamado LIS y desarrollado durante los años 1970.
El nombre se eligió en conmemoración de lady Augusta Ada Byron (1815-1852) Condesa de Lovelace, hija del poeta Lord George Byron y de la matemática, activista y aristócrata Anne Isabella Noel Byron, considerada la primera programadora de la Historia por su colaboración y relación con Charles Babbage, creador de la máquina analítica.
El lenguaje se convirtió en un estándar de ANSI en 1983 (ANSI/MIL-STD 1815) y un estándar ISO en 1987 (ISO-8652:1987). Los requisitos de lenguaje de Steelman eran un conjunto de requisitos que un lenguaje de programación de alto nivel para propósitos generales debería cumplir, creado por el Departamento de Defensa de los Estados Unidos en el programa de Lenguaje de Orden Superior Común del Departamento de Defensa en 1978. Los antecesores de este documento fueron llamados , en orden, "Strawman", "Woodenman", "Tinman" y "Ironman".
Los requisitos se centraron en las necesidades de las aplicaciones informáticas integradas y enfatizaron la confiabilidad, la capacidad de mantenimiento y la eficiencia. En particular, incluyeron facilidades de manejo de excepciones, verificación en tiempo de ejecución y computación paralela.
Se concluyó que ningún lenguaje existente cumplía con estos criterios en la medida suficiente, por lo que se convocó un concurso para crear un lenguaje que estuviera más cerca de cumplirlos. El diseño que ganó este concurso se convirtió en el lenguaje de programación Ada.
El lenguaje resultante siguió de cerca los requisitos de Steelman, aunque no exactamente.
Un compilador de Ada muy usado es GNAT, originalmente desarrollado por la Universidad de Nueva York bajo patrocinio del DoD. Está basado en la tecnología de GCC y es software libre. Actualmente está mantenido por AdaCore (antes llamada Ada Core Technologies), empresa que ofrece soporte y servicios sobre el compilador.
Existen otros compiladores comerciales.
Un ejemplo común sobre la sintaxis de los lenguajes de programación es el "Hola mundo". En Ada, se realizaría así:
Ejemplo de uso de array:
type T_vector is array(1..10) of integer; -- estamos definiendo la variable T_vector como un tipo de dato que almacenará 10 elementos de tipo entero.
Vector1:T_vector; -- Estamos declarando una variable llamada "Vector1" del tipo "T_vector" previamente definido.
Para acceder a cada uno de los huecos se accedería de la siguiente manera:
Vector1(4):= 5; --El hueco 4 de la variable Vector1 tiene el valor de 5.
Escribe un comentario o lo que quieras sobre Lenguaje de programación Ada (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)