Ada (lenguaje de programación)

Ada
Desarrollador(es)
Jean Ichbiah & Tucker Taft
Información general
Extensiones comunes .adb, .ads
Paradigma Orientado a objetos, imperativo
Apareció en 1980
Última versión estable Ada 2005 (1 de enero de 2008 (2008-01-01))
Tipo de dato Fuerte, Estático, Seguro y Nominativo.
Implementaciones AdaCore GNAT, Green Hills Software
Dialectos SPARK, Perfil de Ravenscar
Influido por ALGOL 68, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Java (Ada 2005)
Ha influido a C++, Eiffel, PL/SQL, VHDL, Ruby, Java
Sistema operativo Multiplataforma
[editar datos en Wikidata]

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.

Historia

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 Ada Augusta Byron (1815-1852) Condesa de Lovelace, hija del poeta Lord George Byron, a quien se considera 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).

El DoD y los ministerios equivalentes de varios países de la OTAN exigían el uso de este lenguaje en los proyectos que contrataban (el Ada mandate). La obligatoriedad en el caso de Estados Unidos terminó en 1997, cuando el DoD comenzó a usar productos COTS (commercial off the shelf).

Ada ha sido utilizado por la NASA en sistemas VAX.

Compiladores

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.

Características

Ejemplos en ADA


Hola Mundo

Un ejemplo común sobre la sintaxis de los lenguajes de programación es el "Hola Mundo". En Ada, se realizaría así:

with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
  Put_Line ("Hola, mundo!");
end Hello;
Tipos de datos

Integer: un número entero;

Float: un número decimal; Character: una letra o símbolo del teclado( también puede ser un número o varios pero no se pueden hacer operaciones); Array: un array es como una variable extendida en la que se puede guardar más de un valor. Ej: type T_vector is array(1..10) of integer; <-- estamos definiendo que es T_vector X:T_vector; <-- Estamos diciendo que x es un t_vector tendriamos definido un array de 10 huecos. Para acceder a cada uno de los huecos se accederia de la siguiente manera: X(4):= 5; <-- En el array X estariamos seleccionando el hueco número 4 y guardando el 5.

Estructuras de control
Paquetes, procedimientos y funcio

Véase también

Enlaces externos

En español

Wikilibros

En inglés

This article is issued from Wikipedia - version of the Tuesday, February 09, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.