Megjelent a GNAT GPL 2009

Címkék

Megjelent a GNAT GPL 2009, az AdaCore cég fordító szoftvercsomagjának idei kiadása. Újdonságok, csemegék:

Meghatározások automatikus importjának támogatása C és C++ fejléc fájlokból. Így most nem kell kivárni, amíg valaki megcsinálja a kötéseket.

gprbuild - szabvány segédalkalmazás, csomagok fordítására vegyes projekteknél. Ily módon jelentősen megkönnyíti Ada beolvasztását azon meglévő projektekbe, melyeket C vagy C++ nyelven kezdtek el.

JVM port megjelenése, valamint AJIS segédalkalmazás gyűjtemény, mely segítségével magas szintű hívásokat lehet eszközölni Java kódból Ada kódba és vice versa.

Szinte ezzel együtt jelent meg a SPARK GPL 2009 is. SPARK - olyan segédalkalmazások gyűjteménye, mely ellenőrzi a program kódjának állításait. Ezen állítások fordító szempontjából speciális megjegyzésekben találhatóak, ezért a forrás sikeres verifikációja után, szokványos Ada fordítóval is kompilálható a kód. Ez az első alkalom, hogy SPARK elérhető a széles nyilvánosság részére is, eddig ugyanis fizetős volt.

Hosszú megszakítás után, ismételten van Mac OS X (x86_64) alatt is használható port. Előző port Mac OS X alatt 2006-ban jelent meg PowerPC-re.

Így a kiadás által támogatott architektúrák, platformok teljes listája a következő:

  • dotnet-windows
  • jvm-windows
  • x86-windows
  • x86-linux
  • x86_64-linux
  • x86_64-darwin

Érdekességként elmondanám, hogy (g)vime/scite/(x)emacs alkalmazásokkal is használható. Valamint páran mindig megkérdik, hogy jó-jó, de hol használják!? Kérem szépen mind az oroszok, mind az amerikaiak esetében pl. Sukhoi Su-30 MKI, F-22 fedélzeti avionikájának programozása Ada nyelven történt (MIL-STD-1521 és 2167A szabványokhoz való ragaszkodás miatt :). F-22 esetében 2,2 millió sornyi kódról van szó, ami 80-85% százalékát Ada 83 nyelven írták meg, a többit Ada 95 fejezték be. Ismereteim alapján New-York-i, Hong-Kong-i metró is hasznosítja járatkoordináló és vezérlő rendszereiben.
Ariane 5 hordozórakéta vezérlő szoftverének megírása is ezen a nyelven történt, így mindenki részére emlékezetes marad az 1996-os felszállás 37-ik másodpercben történő robbanás, programhiba miatt.

Hozzászólások

Az utolsó mondaton jót virultam :) kellett a végére. Még akkor is ha nyílván emberi hiba. Mármint rosszul írták a kódot.

Hogy mennyire kedvelik az oroszok mutatja, hogy a Be-200, Il-96(M) és Tu-204 avionikája is ezen a nyelven lett megírva.
Orosz Föderáció Védelmi Minisztériumának (vagy minek fordítják helyesen) a belső adatforgalmát szabályozó állomás is belső, Adás fejlesztés.

További példák eme nyelv használatára - Airbus 320, 330, 340, 380. Bár én magam úgy tudtam, hogy az Airbusok kódgenerálokat használnak, kettőt is. Az egyik saját fejlesztés, a másik kereskedelmi beszerzésű. Ilyen esetekben pedig alapvetően lényegtelen hogy milyen nyelvű kód generálódik.
Csomó Bőing esetében is Ada volt, van alkalmazva.

Ada lényegében Pascal alapján lett kidolgozva 1970-es évek végén. Utána jött a Borland olyan kompilátorral, aminek nyelve legalább fele arányban Ada volt. Borland "meghalt" szabványosítás és támogatás hiányában, Ada nem, mert Zamerigai hadsereg támogatását és légifőlényét élvezte.
Második kitúró próbálkozást, szintúgy sikertelenül, Microsoft követte el "szerzeményeivel" fedélzeti rendszerek részére. Nem lettek elfogadva, és úgy néz ki, hogy nem (is) lesznek, hacsak nem teljesen GPLv3 alatt próbálkozik újra.

Tehát tulajdonképpen 4 fő felhasználási területe van:
- Hadiipar
- Repülőgépek
- Űrkutatás
- ELTE progmatosok sz*patása :)

Most látom, hogy végre(?) van friss bináris Mac-re, de csak x64-re? Valószínűleg ismeri a "sima" 32-bites Darwint is. Ellenkező esetben ez lenne a második nyelvi csomag, amely csak a 64 bites Inteles Mac-eket támogatja a Java 6-on kívül!

Megjegyzés, hogy a Snow Leopard kémfotóin már láttam a 32 bites Java 6-ot, tehát a fenti konklúzió csak a Leopardra igaz.

--
Kinek nem inge, ne vegye gatyára

Az rendben, hogy az Ada-t hasznaljak, de konkretan a GNAT-ot? Nem hinnem. Kiveve persze az ELTE-t. :) Emlekszem, az egyik csoporttarsamnak nem lett meg a geptermi zh-ja, mert beleszaladt egy GNAT bugba....

"Ariane 5 hordozórakéta vezérlő szoftverének megírása is ezen a nyelven történt, így mindenki részére emlékezetes marad az 1996-os felszállás 37-ik másodpercben történő robbanás, programhiba miatt."

Azért ehhez annyit illik hozzátenni, hogy az Ariane 4 tűréshatár táblázatait felejtették el lecserélni, így a jóval nagyobb teljesítményű Ariane 5 ebből kilógott, és emiatt indult be az önmegsemmisítő. Vagyis a szoftver kiválóan működött, csak a neki adott adatok voltak rosszak :-)

Azt hiszem a metróban is lesz egy kevés Ada:

"Az Alstom Transport vezette konzorcium nyerte meg a budapesti M2 és a most épülő M4 metróvonal szerelvényeinek szállítására vonatkozó tendert. Az Alstom közlekedési üzletágának tagjaként, a vállalat informatikai megoldások részlege 10 éve van jelen Magyarországon, fő tevékenysége a különböző programnyelveken (ADA, C, C++, JAVA) írt egyedi vasúti szoftverek fejlesztése és ellenőrzése. Az Alstom Csoport vállalatai 450 főt foglalkoztatnak Magyarországon."

Innen idéztem.