互联网新闻信息服务新技术新应用安全评估管理规定
Ada | |
![]() | |
Paradigma | t?bbelv?: konkurens, elosztott, generikus, imperatív, objektumorientált (osztály-alapú) |
Megjelent | 1983 |
Tervez? | Jean Ichbiah |
Fejleszt? |
|
Típusosság | statikusan típusos, er?sen típusos, típusbiztos, nominatív |
Fordítóprogram | GNAT |
Dialektusok | Ada 83, Ada 95, Ada 2005 |
Megvalósítások | AdaCore GNAT, Green Hills Software Optimising Ada 95 compiler, |
Hatással volt rá | ALGOL, Pascal, C++ (Ada 95), Smalltalk (Ada 95) |
Befolyásolt nyelvek | C++, 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