Linux E X P R E S

Facebook

Ada

V první polovině 70. let si lidé z amerického ministerstva národní obrany začali uvědomovat, že vynakládají až příliš mnoho finančních prostředků na vývoj a údržbu softwarového vybavení. Hlavní příčinou vysokých výdajů bylo používání více než 350 různých programovacích jazyků pro nejrůznější projekty. Většina jazyků byla navíc zastaralá či hardwarově závislá.


Východiskem z této situace bylo nalézt, či navrhnout, zcela nový jazyk, kterým by se daly nahradit všechny používané jazyky. V roce 1975 byla k tomuto účelu vytvořena pracovní skupina nazvaná Higher Order Language Working Group (HOLWG). Ta v roce 1977, po pečlivé revizi mnoha existujících jazyků, došla k závěru, že neexistuje jazyk, který by vyhovoval stanoveným specifikacím, a tak je potřeba vytvořit jazyk zcela nový. Vyhovujícím základem pro nový jazyk se ukázaly jazyky Pascal, PL/I a Algol.

Augusta Ada King, hraběnka z Lovelace (1815-1852), podle které nese jazyk Ada název, je považována za první programátorku na světě. Detailně popsala Babbageův mechanický počítač, čímž ho přiblížila veřejnosti. A dále pro něj vytvořila program na výpočet Bernoulliho čísla. Její myšlenky zahrnovaly podmíněné větvení programu, cykly, podmíněné a nepodmíněné skoky. Bohužel však vinou předčasné smrti Ada nikdy nespatřila běh svého programu v praxi. Zemřela ve 37 letech, ve stejném věku, jako její otec George Gordon Byron.

K vypracování návrhu nového jazyka byla vyzvána řada institucí. Ze sedmnácti zájemců pak byli vybráni čtyři. Aby mohly být návrhy nezaujatě posouzeny, byly označeny kódy: Red, Green, Blue a Yellow. Za jednotlivými návrhy se skrývaly firmy Intermetrics (Red), CII Honeywell Bull (Green), SofTech (Blue) a SRI International (Yellow).

V dubnu roku 1978 byly zveřejněny konečné specifikace všech čtyř jazyků. Návrhy vycházely z jazyka Pascal. K hlubšímu rozpracování byly vybrány již jen návrhy Red a Green. Práce na návrzích Blue a Yellow byla ukončena. V květnu roku 1979 proběhlo další oponentní řízení, z kterého vítězně vzešel návrh Green, za kterým stál Jean Ichbiah z CII Honeywell Bull. Návrh byl ovlivněn programovacím jazykem LIS, který Ichbiah a jeho skupina vytvořil na začátku sedmdesátých let.

Nově vytvářený jazyk dostal jméno ADA, podle Augusty Ady, hraběnky z Lovelace. Konečná verze jazyka Ada byla publikována v červenci roku 1980. V roce 1983 byl pak jazyk standardizován ANSI (ANSI/MIL-STD 1815A ) a v roce 1987 bez výrazných změn jako ISO (ISO-8652:1987). Tato první verze bývá označována jako Ada 83. Občas se ale můžeme setkat i s označením Ada 87. V únoru 1995 byla Ada standardizována ISO/ANSI (ISO-8652:1995). Jednalo se o první ISO standard objektově orientovaného jazyka. Ada 95 je až na velmi vzácné případy kompatibilní s předchozí verzí Ada 83. V říjnu 2001 byla publikována technická oprava k Ada 95. Další změny jazyka a standardizace jsou plánovány na rok 2007.

Nejznámějším a nejlepším kompilátorem Ady je multiplatformní GNAT vytvořený pod licencí GPL. Za vývojem kompilátoru stojí univerzita v New Yorku. Vlastněn je společností Ada Core Technologies (ACT). Ačkoliv GNAT je poskytován zdarma, firmy, které k němu chtějí mít podporu, si jej musí koupit. Linuxová verze GNAT podporuje Ada 95 standard i se všemi volitelnými vlastnostmi.

Dnes je GNAT kompilátor částí GNU Compiler Collection. Jako IDE pro Adu můžeme použít konzolové IDE TIA pro GNAT a nebo The X Windows IDE podporující Ada 95.

Syntaxe Ada je velmi podobná Pascalu. Jazyk je nesenzitivní. Zavádí silný typový systém a řadu kontrol, a to především při překladu. Typový systém Ada je založen na nemožnosti implicitní konverze jednotlivých proměnných různých typů. Konverzi lze provádět pouze explicitně.

Velmi příjemnou vlastností Ady je zavedení integritní omezení pomocí intervalů celočíselných typů, které je velice užitečné pro eliminaci logických chyb v programu.

Řídící struktury a pole jsou v Ada celkem standardní, tak nijak zvlášť nepřekvapí. V Adě je možné přiřazovat celá pole bez použití jednoúčelového for cyklu. Stejně jednoduše je možné pracovat i s úseky polí. Řetězce jsou definovány zcela přirozeně, jako pole znaků.

U funkcí je způsob předávání parametru referencí, nebo hodnotou zcela ponechán na rozhodnutí překladače. Pouze je potřeba určit druh parametru. A to zda-li je parametr do funkce procedury vstupní (in), výstupní (out), nebo oběma směry (in out). Větší programy se pak dělí do balíčků (package). Ada se nejčastěji používá pro tvorbu mission/safety critical aplikací. A tak tento jazyk nalezneme v softwaru k raketoplánům, dopravním a vojenským letadlům, vlakům a vlakové dopravě, jaderným elektrárnám atd. Jako univerzální programovací se však Ada moc neprosadila.

Ukázka programu Hello, World!: 
with text_io;
use text_io;
procedure hello is
begin
put_line( "Hello World!" );
end hello;

Diskuze (0) Nahoru