Ada (programozási nyelv)

A Wikipédiából, a szabad enciklopédiából
(Ada programozási nyelv szócikkből átirányítva)
Ada

Paradigmatöbbelvű: konkurens, elosztott, generikus, imperatív, objektumorientált (osztály-alapú)
Megjelent1983
TervezőJean Ichbiah
Fejlesztő
  • Jean Ichbiah
  • S. Tucker Taft
Típusosságstatikusan típusos, erősen típusos, típusbiztos, nominatív
FordítóprogramGNAT
DialektusokAda 83, Ada 95, Ada 2005
MegvalósításokAdaCore GNAT,

Green Hills Software Optimising Ada 95 compiler,

DDC-I Score
Hatással volt ráALGOL, Pascal, C++ (Ada 95), Smalltalk (Ada 95)
Befolyásolt nyelvekC++, PL/SQL, Ruby, Python
Weboldal


Az Ada egy strukturált, típusos, blokkszerkezetes, imperatív, általános célú programozási nyelv, amelyet a Jean Ichbiah (a francia illetőségű CII Honeywell Bull munkatársa) vezette csapat alkotott meg 1977–1983 között. Nem hasonlít a C illetve C++ nyelvekre, és az egyik legbiztonságosabb, típusokon alapuló programozási nyelv.

Leírása[szerkesztés]

Az Ada egy strukturált programozási nyelv sok objektumorientált lehetőséggel. Eredetileg az Amerikai Egyesült Államok Védelmi Minisztériuma számára fejlesztették ki azzal a céllal, hogy elősegítse nagyméretű programok létrehozását, azok stabilitásának növelését. Néhány tulajdonsága a teljesség igénye nélkül: erős típusok, multitaszkolás, általános típusok, hibakezelés, absztrakt adattípusok.

Az Ada által támogatott egyszerű adattípusok között van többféle szám-típus, igaz-hamis típusok, karakterek, hivatkozások és felsorolások. A tömbök, rekordok (struktúrák) és karakterláncok az Ada összetett típusai. A biztonságon levő hangsúllyal nem meglepő, hogy az Ada egy erősen típusos nyelv: minden adatelemet előre definiálni kell egy bizonyos típusú vagy altípusúként, valamint folyamatos a típusellenőrzés a modulok között és azokon belül is.

Teljes körű támogatást nyújt a szekvenciális vezérlőstruktúrákhoz, valamint a minden részletre kiterjedő hibakezeléshez.

Az Ada egy szigorúan szabályzott és jól dokumentált nyelv. A fordítók szigorú alkalmassági teszteken kell hogy átmenjenek. Legalább egy ingyenes, és több nagyon jó fizetős fordító elérhető.

A nevét Lady Ada Lovelace (1815–1852) után kapta, aki Charles Babbage barátja és bizalmasa volt.

Az Adát nemzetközileg szabványosították 1983-ban, amit felváltott egy új 1995-ben. Ezt a két verziót ismerjük ma úgy, mint Ada 83 és Ada 95.

Megjegyzések[szerkesztés]

Az Ada meglehetősen összetett nyelv. Hagyományos, Pascal-szerű szintaxisa van sok különleges lehetőséggel. A nyelv legjobb tulajdonsága az általános típusok (sablonok) erőteljes támogatása, a feladatszinkronizáció segítése, valamint a kiváló hibakezelés. Legrosszabb benne a komplex szintaxis, valamint a rossz teljesítménye azoknak a kódoknak, amiket a régi fordítók állítanak össze. (Az 1980-as évek végére ezek fejlődtek, a modern Ada fordítók által generált kód ugyanolyan gyors, esetenként gyorsabb, mint a C vagy Fortran fordítók által készített kód. Megjegyzendő, hogy az Ada szemantikájában benne van minden egész (integer) típus tartományellenőrzése, minden tömb határellenőrzése, ezek a biztonsági funkciók lassították le a régi fordítókat (a későbbiek jobbak lettek, valamint beléjük kerültek különféle fordítási direktívák támogatása, amikkel a kiadás előtti végső fordításkor bizonyos ellenőrzéseket ki lehetett kapcsolni.)

Az Ada fordítók általában nagyon szigorúak, de ha egyszer sikerül lefordíttatni egy programot, akkor biztosak lehetünk benne, hogy legalább valami érthetőt csinál (ellentétben például a C-vel).

Eredetileg úgy tervezték, hogy ez lesz az egyetlen nyelv, amit az Amerikai Egyesült Államok Védelmi Minisztériuma szoftverfejlesztésre használni fog. Ez a vezérelv sosem terjedt el, majd 1997-ben hatályon kívül helyezték. A Védelmi Információs Rendszerek Ügynöksége (Defense Informations Systems Agency, DISA) rájött, hogy még egy olyan lelkiismeretesen megtervezett nyelv sem csodaszer, mint az Ada.

A Hello World program[szerkesztés]

„Helló, világ!” program ADA nyelven:

with Ada.Text_IO; -- use Ada.Text_IO;
procedure HW is
begin
  Ada.Text_IO.Put_Line( "Hello World!" );
  -- Put_Line( "Hello World!" );
  -- Put( "Hello World!" ) New_Line;
end HW;

Források[szerkesztés]

További információk[szerkesztés]

Kapcsolódó szócikkek[szerkesztés]

  • Ravenscar profil - az Ada feladatmegoldási jellemzőinek egy részhalmaza, amelyet a biztonságkritikus, kemény valós idejű számításokhoz terveztek
  • SPARK (programozási nyelv) - az Ada egy erősen korlátozott részhalmazából álló programozási nyelv, amelyben a komponenseket a kívánt viselkedést és az egyedi futásidejű követelményeket leíró metainformációkkal címkéznek (annotálnak), az automatikus kódellenőrzés támogatásához