Ada (programmeringsspråk)

**Ada** er et strukturert, statisk typet, imperativt og objektorientert høynivåspråk. Språkets strukturerte egenskaper er inspirert av ALGOL 58, Algol 60, ALGOL 68. De imperative egenskapene er hentet fra programmeringsspråket Pascal, mens de objektorienterte egenskapene er hentet fra Smalltalk, C++ og Eiffel. 

Ada ble opprinnelig konstruert for USAs forsvarsdepartement fra 1977 til 1983. Formålet var å lage en standard som skulle erstatte de mer enn 450 programmeringsspråkene som forsvarsdepartementet benyttet på denne tiden. Den første manualen til Ada kom i 1980.

American National Standards Institute (ANSI) standardiserte Ada i 1983. I 1987 ble denne standarden uten modifikasjoner godkjent som en ISO-standard. Denne versjonen av språket er også kjent som Ada 83 og Ada 87. I 1995 innførte ISO og ANSI i fellesskap en ny standard for objektorientert programmering, som kalles Ada 95. Deretter fulgte en oppdatering av de tekniske sidene ved språket, kjent som Ada 2005. Den siste utvidelsen av språket er kjent som Ada 2012.

Navnet Ada er hentet fra Ada Lovelace (1815–1852). Hun regnes for å være verdens første programmerer, og laget en beskrivelse av den  mekaniske, generelle datamaskin til Charles Babbage (1791–1871).

## ''Hello, world!'' i Ada
Et vanlig eksempel av et programmeringsspråks syntaks er *[[Hello, world]]*-programmet.


```ada
with Ada.Text_IO; use Ada.Text_IO;

procedure Hello is
begin
  Put_Line ("Hello, world!");
end Hello;
```


## Historie
På 1970-tallet mottok USAs forsvarsdepartement bekymringsmeldinger over det store antallet programmeringsspråk som ble brukt av USAs forsvar. Signalene kom fra *Office of the Secretary of Defense* (OSD) og *Office of the Director of Defense Research and Engineering* (DDR&E). Dette gjaldt spesielt prosjekter for innebygde systemer, hvor mange benyttet foreldet maskinvare. Programmeringsspråkene var ofte maskinvare-avhengige, og ingen av dem støttet modulær programmering.

I 1973 førte dette til at oberst William Armstrong Whitaker (1936–2010) i United States Air Force innledet et «programvareinitiativ».

I april 1975 ble deretter arbeidsgruppen *[[High Order Language Working Group]]* (HOLWG) dannet. Arbeidsgruppens oppgave var å redusere antallet språk, og å finne eller skape et nytt programmeringsspråk som var egnet til å oppfylle kravene fra både departementet og det britiske forsvarsdepartementet. I 1959 hadde riktignok USAs forsvarsdepartement lansert COBOL, men dette språket ble etterhvert bare brukt til administrative oppgaver.

Etter mange iterasjoner som begynte med det såkalte «Stråmann-forslaget», fikk det endelige programmeringsspråket navnet Ada. Antallet høynivåspråk i USAs forsvar ble redusert fra mer enn 450 i 1983 til 37 i 1996.

Utviklingen av språket ble ledet av det amerikanske forsvaret for å skaffe et enhetlig «byråkratisk» programmeringsspråk som ble krevd brukt for alt fra missil-styring til administrative rutiner. Initiativet kom da det etter hvert var blitt mer enn 30 språk i bruk i forsvaret og det hadde forekommet større uhell på grunn av programmeringsfeil.

## Standarder
I 1983 ble Ada standardisert av American National Standards Institute (ANSI) i spesifikasjonen  ANSI/MIL-STD 1815A. I 1987 ble denne standarden uten noen ytterligere modifikasjoner godkjent som en ISO-standard (ISO-8652:1987). Denne versjonen av språket er mest kjent som Ada 83, etter året den ble innført av ANSI. Den er også noen ganger kjent som Ada 87, oppkalt etter året den ble innført av ISO.

I februar 1995 innførte ISO og ANSI i fellesskap en ny standard (ISO-8652:1995) basert på objektorientert programmering. Denne standarden kalles Ada 95, og var den første ISO-standard for et objektorientert programmeringsspråk. For å hjelpe til med standardens utbredelse, finansierte United States Air Force utviklingen av Ada-kompilatoren GNAT, som er en del av GNU Compiler Collection.

Arbeidet har fortsatt med å forbedre og oppdatere de tekniske sidene ved Ada. En større utvidelse av språket (ISO/IEC 8652:1995/Amd 1:2007) ble publisert den 9. mars 2007, og er kjent som Ada 2005.

En ny større utvidelse («Ada 2012») av standarden ble fullført i 2012.

## Referanser


## Eksterne lenker
*