Ada (informática)

Na Galipedia, a Wikipedia en galego.

Ada é unha linguaxe de programación, deseñada por un equipo dirixido por Jean Ichbiah da Cii Honeywell Bull entre 1977 e 1983. Debe o seu nome a Ada Lovelace, a primeira programadora de computadoras.

Características[editar | editar a fonte]

Ada foi orixinalmente concibida para servir como linguaxe multiuso para o DoD (Departamento de Defensa americano). Por iso contén características para:

  • facilitar o seu uso en sistemas empotrados e en tempo real, e aínda se utiliza amplamente neses campos.
  • utilizacion en aplicacións que requiren un alto nivel de seguridade (no senso de fiabilidade)
  • interface con outras linguaxes

Ada95: A revisión Ada 95 (deseñada por Tucker Taft de Intermetrics entre 1992 e 1995) engadiu soporte para programación orientada a obxectos, incluíndo dispatch dinámico e modelos como C++. Asemade mellorou o soporte para sistemas, numérico, e a programación con fins financeiros.

As implementacións de Ada non acostuman ter recolección de lixo na xestión de almacenamento. Ada soporta unha serie limitada de formas de xestión do almacenamento baseado en rexións, o que permite detectar nalgúns casos accesos a rexións de memoria non asignadas en tempo de compilación.

Tipado forte: Ada caracterízase, entre outras cousas, por ser unha linguaxe fortemente tipada, con comprobacións en tempo de execución, procesamento paralelo, manexo de excepcións, e xenéricos. Ao ter un tipado forte, permite que o Ada soporte un gran número de comprobacións en tempo de compilación, o que axuda a evitar erros que non serían detectados ata a execución utilizando outra linguaxe de programación, ou que requirirían engadir no código fonte comprobacións explícitas.

Xestión de excepcións: Unha característica principail da linguaxe Ada é a comprobación do corrector en execución ("runtime"): Ada soporta (inclúe implicitamente) comprobacións en tempo de execución con obxecto de protexerse ante asignacions de valores fóra de rango, accesos a direccións de memoria non asignada, erros de desbordamento de buffer, erros dun paso, e outros erros evitables. Estes exames son fundamentais para acadar unha alta esixencia de fiabilidade (reliability & safety). Estas comprobacións poden ser deshabilitadas para obter unha maior eficiencia. Tamén inclúe facilidades que axudan á verificación de programas. Por esas razóns, é amplamente utilizado en sistemas críticos como en aviación, armamento e naves espaciais.

Historia[editar | editar a fonte]

Ada Lovelace (1815-1852)

Nos anos 70, o Departamento de Defensa dos Estados Unidos decatouse de que estaban a usar un gran número de linguaxes de programación diferentes nos seus proxectos, algúns dos cales eran propietarios ou estaban xa obsoletos. En 1975 formouse o Grupo de Traballo en Linguaxes de Orde máis Alta (Higher Order Language Working Group) coa intención de reducir este número e crear unha linguaxe de programación xeralmente apropiada segundo os requirimentos do departamento. O resultado foi Ada. O número total de linguaxes de programación de alto nivel utilizadas para eses proxectos foron de 450 entre 1983 e 1996.

O grupo de traballo creou unha serie de documentos de requirimentos da linguaxe: Strawman, Tinman, Ironman e Steelman. Algunhas linguaxes existentes foron revisadas formalmente, pero o equipo concluíu en 1977 que ningunha linguaxe cumpría tales especificacións.

Publicáronse peticións de propostas dunha nova linguaxe de programación, e contratouse a catro emmpresas para desenvolver as súas propostas baixo os nomes de Vermello (Red, de Intermetrics), Verde (Green, de Cii Honeywell Bull), Azul (Blue, de SofTEch) e Amarelo (Yellow, de SRI International). En maio de 1979, a proposta Verde, deseñada por Jean Ichbiah en Cii Honeywell Bull foi escollida e déuselle o nome de Ada. Esta proposta foi a sucesora da linguaxe LIS que Ichbiah e o seu grupo desenvolveran nos anos 70.

O Manual de referencia do estándar militar foi aprobado o 10 de decembro de 1980, o día do aniversario de Ada Lovelace. (ANSI/MIL-STD 1815 O departamento de defensa requiría o uso de Ada para todo proxecto onde o código fonte supuxese máis do 30% do resultado.

Forte estandarizacion[editar | editar a fonte]

Estandarizacion da linguaxe: A linguaxe Ada converteuse nun estándar ANSI en 1983 (ANSI/MIL-STD 1815 (1815 fora o ano de nacemento de Ada Lovelace)). Converteuse nun estándar ISO en 1987 (ISO-8652:1987). Esta versión da linguaxe e comunmente coñecida como Ada 83, polo ano da súa aceptación no ANSI. Ada 95 é o último estándar de ADA. Foi aceptado en febreiro de 1995 (facendo de Ada 95 a primeira linguaxe de programación orientada a obxectos definida nun estándar ISO). Para axudar coa revisión do estándar e a futura aceptación a forza aérea dos Estados Unidos financiou o desenvolvemento do compilador de GNAT.

O traballo continúa mellorando e actualizando os contidos técnicos da linguaxe de programación Ada. En outubro de 2001 publicouse unha errata técnica de Ada 95. Actualmente estase a traballar para facer un engadido a Ada 95, que se espera para 2005.

Outros estándares asociados: á parte do estándar da linguaxe en si, existen outros asociados, tales como:

  • Estandarización de probas de validez de Compiladores: existe un estándar que define que e como se comproba que un compilador de Ada cumpre todos os requisitos.
  • Estandarización de Obxectos compilados: existe un estándar que permite examinar e navegar polos datos/estruturas definidas nos ficheiros resultantes da compilacion (sen ter os fontes).

Utilización para contornas gráficas[editar | editar a fonte]

Existe unha librería gráfica GTKAda moderna en Ada95 que, baseada en GTK (que é utilizado pola contorna Gnome), permite definir e manexar contornas gráficas (xanelas, botóns, etc).

"Ola, mundo!" en Ada[editar | editar a fonte]

Un exemplo típico para mostrar a sintaxe dunha linguaxe é o programa ¡Ola, mundo!. Existen formas de abreviar "Ada.Text_IO.Put_Line", pero non son utilizadas para facilitar a comprensión do exemplo.

 with Ada.Text_Io; 
 
 procedure Ola is
 begin
    Ada.Text_Io.Put_Line("Ola mundo!");
 end Ola;

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]

Bibliografía[editar | editar a fonte]

Ligazóns externas[editar | editar a fonte]

As seguintes ligazóns apuntan a páxinas en inglés.