Ada (ohjelmointikieli)

Ada on ohjelmointikieli, jonka kehitystyön Yhdysvaltain puolustusministeriö aloitti vuonna 1974. Puolustusministeriö rahoitti uuden ohjelmointikielen kehitystyön, minkä seurauksena Ada-kieli standardoitiin vuonna 1983 (MIL-STD-1815). Alkuperäisestä Ada-kielestä käytetään nykyisin nimeä Ada 83. Ada 83:n määrittely muutettiin ISO-standardiksi ISO 8652 vuonna 1987. Ada on nimetty Ada Lovelacen mukaan, jota pidetään ensimmäisenä tietokoneohjelmoijana.

Päivitetyn kieliversion kehitystyö alkoi vuonna 1988, ja ensimmäinen versio uuden kielen vaatimuksiksi julkaistiin vuonna 1990. Lopullinen versio uudesta standardista julkaistiin helmikuussa 1995, joten nykyisin käytössä olevasta kielen versiosta käytetään nimitystä Ada 95. Ada 95 on ensimmäinen ISO-standardoitu oliokieli. Se on määritetty ISO-standardissa ISO/IEC 8652:1995(E). Useista muista ohjelmointikielistä poiketen Ada-kielen standardi on saatavilla ilmaiseksi. Ada 2005-kieleen on lisätty mm. Java-kielestä tutut rajapintaluokat sekä geneeriset säiliöluokat. 

Adan standardi ISO/IEC 8652:2012 julkaistiin joulukuussa 2012 
ja sen korjattu versio ISO/IEC 8652:2012/Cor 1:2016 on julkaistu vuonna 2016.

Adan pohjalta on kehitetty nykyään digitaalisuunnittelussa laajassa käytössä oleva laitteistokuvauskieli VHDL.

Ada 95:n ominaisuudet 

Eräs tärkeimmistä Ada 95:n suunnitteluperiaatteista oli ylläpidettävyys. Kielen syntaksi on suunniteltu helppolukuiseksi ja selkeäksi, koska varsinkin suurten ohjelmistojen kohdalla lähdekoodia luetaan huomattavasti useammin kuin kirjoitetaan. 

Muita Ada 95:n peruskieleen sisältyviä ominaisuuksia:
 vahva tyypitys
 keskeytysten käsittely
 tuki olio-ohjelmoinnille
 kielessä määritelty tuki rinnakkaisuudelle
 geneeriset tyypit
 helppo liitettävyys C-, Cobol- ja Fortran-koodiin
 tuki laitteistoläheiselle ohjelmoinnille

Ada-kieltä käytetään pääasiallisesti ilmailuun, avaruuteen tai lääkinnällisiin laitteisiin tarkoitetuissa ohjelmistoissa, joissa suuri luotettavuus on ehdottoman tärkeää.

Esimerkkiohjelma 
Yleinen esimerkki ohjelmointikielen syntaksista on Hello World -ohjelma:

 with Ada.Text_IO; use Ada.Text_IO;
 procedure Hello_World is
 begin
     Put_Line("Hello World!");
 end Hello_World;

Ohjelman alun with-lauseella kerrotaan kääntäjälle Hello_Worldin käyttävän Ada.Text_IO-pakkausta (package). Pakkauksessa määritellyt proseduurit ja funktiot tuodaan näkyviin use-lauseella. Varsinaisen Hello_World-ohjelman runko on avainsanojen begin ja end välissä.

Ada ei ota kantaa avainsanojen eikä tunnisteiden kirjainkokoon.

Standardeja 
 ISO/IEC 8652: Information technology—Programming languages—Ada
 ISO/IEC 15291: Information technology—Programming languages—Ada Semantic Interface Specification 
 ISO/IEC 18009: Information technology—Programming languages—Ada: Conformity assessment of a language processor 
 IEEE Standard 1003.5b-1996, POSIX-Ada liitos

Lähteet

Aiheesta muualla 
 Laaja wiki-artikkeli Ada-kielestä.  
 Ada Reference Manual ISO/IEC 8652:1995(E). 
 Ada 95 Quality and Style Guide. 
 Alkuperäinen kielen määrittely, ns. Steelman-raportti. 
 ANSI/MIL-STD-1815A-1983 EverySpec.com -sivustolla 

Proseduraaliset ohjelmointikielet
Seulonnan keskeiset artikkelit