Ada (lenguaje de programación)

Ada (lenguaje de programación)

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.

Contenido

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.

página: Ada 2005.

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

  • La sintaxis, inspirada en Pascal, es bastante legible incluso para personas que no conozcan el lenguaje. Es un lenguaje que no escatima en la longitud de las palabras clave, en la filosofía de que un programa se escribe una vez, se modifica decenas de veces y se lee miles de veces (legibilidad es más importante que rapidez de escritura).
  • Es indiferente el uso de mayúsculas y minúsculas en los identificadores y palabras claves, es decir es un lenguaje case-insensitive.
  • En Ada, todo el programa es un único procedimiento, que puede contener subprogramas (procedimientos o funciones).
  • Cada sentencia se cierra con end qué_cerramos. Es un modo de evitar errores y facilitar la lectura. No es necesario hacerlo en el caso de subprogramas, aunque todos los manuales lo aconsejan y casi todos los programadores de Ada lo hacen.
  • El operador de asignación es :=, el de igualdad =. A los programadores de C y similares les puede confundir este rasgo inspirado en Pascal.
  • La sintaxis de atributos predefinidos es Objeto'Atributo (o Tipo'Atributo) (nota: esto sólo aplica a atributos predefinidos por el lenguaje, ya que no es el concepto de atributo típico de OOP).
  • Se distingue entre "procedimientos" (subrutinas que no devuelven ningún valor pero pueden modificar sus parámetros) y "funciones" (subrutinas que devuelven un valor y no modifican los parámetros). Muchos lenguajes de programación no hacen esta distinción. Las funciones de Ada favorecen la seguridad al reducir los posibles efectos colaterales, pues no pueden tener parámetros in out.

Hola Mundo

Éste es el típico "Hola Mundo" escrito en Ada:

with Ada.Text_IO;
 
procedure Hola_Mundo is
begin
  Ada.Text_IO.Put("¡Hola, mundo!");
end Hola_Mundo;

Véase también

Enlaces externos

En español

Wikilibros

En inglés


Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Lenguaje de programación Pascal — Saltar a navegación, búsqueda Pascal Paradigma: imperativo (estructurado) Apareció en: 1970 Diseñado por: Niklaus Wirth Implementaciones: Múltiples Dialectos …   Wikipedia Español

  • Lenguaje de programación fuertemente tipado — Saltar a navegación, búsqueda Un lenguaje de programación es fuertemente tipado si no se permiten violaciones de los tipos de datos, es decir, dado una variable de un tipo concreto, no se puede usar como si fuera una variable de otro tipo… …   Wikipedia Español

  • Lenguaje de programación Eiffel — Saltar a navegación, búsqueda Eiffel Paradigma: orientado a objetos Apareció en: 1985 Diseñado por: Bertrand Meyer Tipo de dato: fuerte, estático Implementaciones …   Wikipedia Español

  • Lenguaje de programación Oberon — Saltar a navegación, búsqueda Oberon es un lenguaje de programación orientado a objetos y procedimental creado por Niklaus Wirth (autor también de Pascal, Modula y Modula 2) y sus colaboradores del ETHZ (Suiza). Oberon puede considerarse una… …   Wikipedia Español

  • Lenguaje de programación Ada — Ada es un lenguaje de programación estructurado 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 EE.UU. Es un lenguaje multipropósito, orientado a… …   Enciclopedia Universal

  • Lenguaje de programación — Captura de la microcomputadora Commodore PET 32 mostrando un programa en el lenguaje de programación BASIC, bajo el emulador VICE en una distribución GNU/Linux. Un lenguaje de programación es un idioma artificial diseñado para expresar… …   Wikipedia Español

  • Lenguaje de programación de tercera generación — Los lenguajes de programación de tercera generación son la gama de lenguajes de programación para ámbitos computacionales donde se logra un alto rendimiento con respecto a lenguajes de generaciones anteriores. Dichos lenguajes son utilizados por… …   Wikipedia Español

  • Pascal (lenguaje de programación) — Para otros usos de este término, véase Pascal. Pascal Información general Paradigma imperativo (estructurado) Apareció en 1970 Diseñado po …   Wikipedia Español

  • Eiffel (lenguaje de programación) — Eiffel Información general Paradigma orientado a objetos Apareció en 1985 Diseñado por Bertrand Meyer Tipo de dato …   Wikipedia Español

  • Oberon (lenguaje de programación) — Oberon es un lenguaje de programación orientado a objetos y procedimental creado por Niklaus Wirth (autor también de Pascal, Modula y Modula 2) y sus colaboradores del ETHZ (Suiza). Oberon puede considerarse una evolución de Modula 2 con un… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”