*Annen betydning: Ada (navn)*

**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.

```
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
----------

1. 1 2 3  Ada - The Project The DoD High Order Language Working Group, William A. Whitaker, Colonel USAF, PO Box 3036, McLean VA 22103, mars 1993
2. ↑  Colonel William A. Whitaker (1936-2010), sigada.org
3. ↑  James M. Robinette, Martin Wolfe, John Shore, Warren E. Loper, David Weiss, Thomas H. Jarrell, Major, David A. Fisher: STRAWMAN. THE TECHNICAL REQUIREMENTS. April 1975, iment.com, april 1975
4. ↑  Straw man proposal

Eksterne lenker
---------------

* (en) Offisielt nettsted Rediger på Wikidata

* (en) Ada (programming language) – kategori av bilder, video eller lyd på Commons Rediger på Wikidata

| * v
* d
* r
Programmeringsspråk |
| --- |
| Tidslinje |
| A# **·** ActionScript **·** Ada **·** Alef **·** ALGOL **·** ALGOL 58 **·** ALGOL 60 **·** ALGOL 68 **·** ALTRAN **·** APL **·** AppleScript **·** Argus **·** Assembler **·** Autokode **·** awk **·** B **·** BASIC **·** BCPL **·** BETA **·** BitC **·** BLISS **·** Bourne Shell **·** C **·** C++ **·** C-- **·** CHILL **·** C# **·** C shell **·** Caml **·** Ch **·** Cilk **·** Cilk++ **·** Cilk Plus **·** Clarion **·** Clipper **·** CLISP **·** Clojure **·** CLU **·** COBOL **·** COMAL **·** Common Lisp **·** Concurrent C **·** Concurrent Euclid **·** Concurrent Pascal **·** C shell **·** D **·** Delphi **·** Dylan **·** ECMAScript **·** Eiffel **·** Emacs Lisp **·** Erlang **·** Euclid **·** F\* **·** F# **·** Forth **·** Fortran **·** GNU Common Lisp **·** GNU Pascal **·** Go **·** Haskell **·** HyperTalk **·** Incr Tcl **·** INTERCAL **·** Interlisp **·** Java **·** JavaScript **·** JRuby **·** LaTeX **·** Legoscript **·** LilyPond **·** Limbo **·** Lisp **·** LPC **·** Lua **·** Lynx **·** Mary **·** MATLAB **·** Mesa **·** ML **·** MML **·** Modula **·** Modula-2 **·** Modula-2+ **·** MUMPS **·** Objective-C **·** Objective-C++ **·** OCaml **·** OpenVera **·** O'Haskell **·** Pascal **·** Perl **·** PHP **·** Pike **·** PL/I **·** Plankalkül **·** PLEX **·** Prolog **·** Protel **·** Pure Data **·** Python **·** R **·** Ratfor **·** REXX **·** RTL/2 **·** Ruby **·** Rust **·** SAS **·** Scala **·** Scheme **·** Scratch **·** Simula **·** SML **·** Smalltalk **·** SNOBOL **·** Tcsh **·** Tcl **·** TECO **·** TOM **·** Turbo Basic **·** Turbo Pascal **·** Verilog **·** Visual Prolog **·** Turing **·** TypeScript **·** Vala **·** VHDL **·** Visual Basic |
| 
* Liste over programmeringsspråk
* Kategori **Kategori**

 |

|  |  |
| --- | --- |
| Oppslagsverk/autoritetsdata | Store norske leksikon **·** Encyclopædia Britannica **·** Nationalencyklopedin **·** GND **·** LCCN **·** NKC **·** BNE **·** BNE
 |