Ada | |
---|---|
Semantiikka | moniparadigma : kilpailukykyinen , yleinen, pakottava , oliosuuntautunut , hajautettu ohjelmointi, rinnakkaisohjelmointi |
Kieliluokka | laajakirjoinen ohjelmointikieli [d] ,moniparadigmaohjelmointikieli,pakollinen ohjelmointikieli,olioohjelmointikielijaohjelmointikieli |
Toteutustyyppi | koottu |
Esiintyi | 1980 |
Tekijä |
|
Kehittäjä | Ishbia, Jean ja S. Tucker Taft [d] [1] |
Vapauta | Ada 2012 (10. joulukuuta 2012 ) |
Testiversio | Ada 2012 [3] (marraskuu 2011 ) |
Tyyppijärjestelmä | staattinen , tiukka , turvallinen , nimeävä |
Tärkeimmät toteutukset |
AdaCore GNAT , MapuSoft Ada-C/C++ Changer (AdaMagic) [4] , Green Hills Software Optimizing Ada 95 -kääntäjä, PTC ObjectAda [5] , DDC-I Score |
Murteet | SPARK , Ravenscar profiili |
Vaikutettu | ALGOL 68 , Pascal , C++ (Ada 95), Smalltalk (Ada 95), Java (Ada 2005), Eiffel (Ada 2012) |
vaikutti | C++, Eiffel , M10, M9.3, MAYA, Seed7 , PL/SQL , Nim |
Verkkosivusto | adaic.org |
Mediatiedostot Wikimedia Commonsissa |
Ada ( Ada ) on ohjelmointikieli , joka luotiin vuosina 1979-1980 osana Yhdysvaltain puolustusministeriön projektia yhtenäisen ohjelmointikielen kehittämiseksi sulautetuille järjestelmille (eli automatisoitujen järjestelmien reaaliaikaisille ohjausjärjestelmille). Ensinnäkin he pitivät mielessä sotilaslaitosten (laivat, lentokoneet, tankit, ohjukset, kuoret jne.) sisäiset ohjausjärjestelmät. Kehittäjien tehtävänä ei ollut luoda universaalia kieltä, joten Adan tekijöiden tekemät päätökset tulisi tehdä valitun aihealueen piirteiden kontekstissa. Kieli on nimetty Ada Lovelacen mukaan .
Alkuperäisessä muodossaan, joka standardoitiin vuonna 1983, Ada on jäsennelty , modulaarinen ohjelmointikieli, joka sisältää korkean tason rinnakkaisten prosessien ohjelmointityökaluja. Adan syntaksi on peritty kielistä, kuten Algol tai Pascal , mutta sitä on laajennettu ja tehty tiukemmiksi ja loogisemmaksi. Ada on vahvasti kirjoitettu kieli , se sulkee pois työskentelyn objektien kanssa, joilla ei ole tyyppejä , ja automaattiset tyyppimuunnokset on vähennetty ehdottomaan minimiin: yleisen kokonaisluvun tai todellisen numeerisen tyypin arvo voidaan implisiittisesti heittää yhteensopivaan numeeriseen tyyppiin. [6] . Vuoden 1995 standardissa kieleen lisättiin perus olio-ohjelmointityökalut , 2007 standardissa näitä työkaluja täydennettiin, joten moderni Ada on olio-ohjelmointikieli.
Kirjainkoolla ei ole merkitystä. Syntaksi on Algol-tyyppinen 1970-luvun lopun kielten hengessä: kaikki avainsanalla alkavat ohjausrakenteet päättyvät avainsanaan ja niiden sisään voi sijoittaa minkä tahansa määrän operaattoreita, mikä eliminoi usein kritisoidun haitan. Algol-60:ssä ja Pascalissa: "operaattorisulujen" toistuva käyttö begin-end. Syntaksitiedot on suunniteltu vähentämään tahattomien virheiden mahdollisuutta. Esimerkiksi useiden alaviivojen käyttäminen peräkkäin tunnisteissa on kielletty. Lopulliset avainsanat eri ohjausrakenteille ovat erilaisia: ehdollinen lause ifpäättyy yhdistelmään end if, silmukat yhdistelmään end loop, monivalintaoperaattori end casejne. Rakenteellisten poikkeusten käsittelyä tuetaan kielen syntaksitasolla .
Kielellä on kehitetty tyyppijärjestelmä, sekä sisäänrakennettu että ohjelmoijan luoma. On monia tapoja luoda uusia tyyppejä, kieli tukee kahta eri käsitettä: "alatyyppi" ja "johdannainen tyyppi". Tyypin ja alatyypin muuttujat ovat yhteensopivia, tyypin ja sen johdetun tyypin muuttujat eivät.
Proseduurit ja toiminnot tukevat syöttö- ja lähtöparametreja, parametrien välittämistä nimellä ja parametreja oletusarvoilla. Proseduurien, funktioiden ja operaattoreiden uudelleenmäärittelyä tuetaan - useiden eri muunnelmien luomista proseduurista, funktiosta tai operaattorista, joilla on sama nimi, mutta eri allekirjoitukset (parametrien tyypit ja lukumäärä).
Ohjelmat ovat modulaarisia, moduulien välisen kuvausten tuonnin ja viennin ohjausmekanismi sisältää kaksi erilaista direktiiviä: toinen toisen moduulin liittämiseksi ( with), toinen sen kuvausten tuomiseksi ( use). On myös mahdollista nimetä moduuli uudelleen tuonnin yhteydessä ( rename) - tämän vaihtoehdon avulla voit käyttää tunnisteita, jotka ohjelmoijalle on helpompi määrittää paketin määrittämisessä. Paketit (yksi moduulityypeistä) voivat sisältää otsikon ja yksityisen osan - sen sisältämää ei viedä eikä se ole muiden moduulien käytettävissä. Yleistettyjen (yleisten) moduulien mekanismia tuetaan : paketteja, menettelyjä ja toimintoja, joiden avulla voit kuvata tietojenkäsittelyalgoritmeja määrittelemättä tiettyä tyyppiä.
Kieleen on rakennettu rinnakkaisohjelmoinnin tukirakenteet : tuetaan käsitteitä "task" (ohjelman fragmentti, joka suoritetaan rinnakkain), "task input" (keino synkronoida ja kommunikoida rinnakkaisia tehtäviä), tuetaan tapaamismekanismia (protokolla rinnakkaisten tehtävien vuorovaikutukseen yhden niistä syötteen kautta on valintaoperaattori SELECTehdollisen säikeiden välisen vuorovaikutuksen järjestämiseksi (rinnakkaistehtävän valinta, jonka kanssa ollaan vuorovaikutuksessa, riippuen tapaamisvalmiudesta ja joistakin muista ehdoista). Periaatteessa kielellä saatavilla olevat rinnakkaisohjelmointityökalut riittävät ratkaisemaan suuren luokan rinnakkaiskäsittelyä vaativia tehtäviä ilman ulkopuolisia työkaluja, kuten lisäkirjastoja tai käyttöjärjestelmän API:ita.
Luotettavuusvaatimusten täyttämiseksi kieli on suunniteltu siten, että mahdollisimman paljon virheitä havaitaan käännösvaiheessa . Lisäksi yhtenä kielen kehittämisen vaatimuksista oli ohjelmatekstien mahdollisimman helppolukuisuus , jopa kirjoittamisen helppouden kustannuksella [7] . Tämän lähestymistavan tuloksena oli jonkin verran "raskas" syntaksi ja monet rajoitukset, jotka puuttuvat yleisimmistä yleiskäyttöisistä kielistä (kuten C ja C ++ ), esimerkiksi sama vahva kirjoitus . Tämä johti ajatukseen Adasta monimutkaisena, epäselvänä ja hankalana käytettävänä kielenä [8] .
Esimerkkiohjelma Hei, maailma! »:
kanssa Ada.Text_IO ; menettely Hello on use Ada.Text_IO ; begin Put_Line ( "Hei, maailma!" ); loppu Hei ;Tässä funktion käyttöä varten tuodaan Put_Linesen sisältävä paketti Ada.Text_IOuse-konstruktilla, joka mahdollistaa funktion kutsumisen nimellä ilman tarkennusta - määrittämällä kutsussa funktion sisältävän paketin nimen.
Kielen kehittäminen oli osa kansainvälistä kilpailua, jonka järjesti ja rahoitti Yhdysvaltain puolustusministeriö . Kehityksen tavoitteena oli saada ohjelmointikieli , josta voisi tulla yhtenäinen kieli sotilasosaston tilaamien projektien kehittämiseen, lähinnä sulautettujen sotilasjärjestelmien kehittämiseen ja suuriin sotilastietokoneisiin ( Intelin iAPX 432 -prosessorin pohjalta ). ). Työ aloitettiin vuonna 1975 , kun muodostui joukko kielivaatimuksia, jotka tyydyttäisivät täysin tämäntyyppisten järjestelmien kehittäjät. Alkuperäinen vaatimusluettelo, joka julkaistiin koodinimellä "Strawman" ("Olki"), toimitettiin tarkastettavaksi useille organisaatioille ja yrityksille, ja sitä paranneltiin johdonmukaisesti kahden vuoden ajan ja se kulki "Woodenman" ("Puu") läpi. , "Tinman" (" Tin"), "Ironman" ("Rauta") ja lopulta muuttui lopulliseksi asiakirjaksi nimeltä "Steelman" ("Steel"). Steelman julkaistiin kesäkuussa 1978 [DoD 1978] [9] .
Jo ennen vaatimusten muodostamisen lopullista valmistumista analyysi osoitti, että mikään olemassa olevista ohjelmointikielistä ei täytä vaatimuksia riittävästi, joten päätettiin kehittää uusi kieli. Kilpailu sen luomisesta julkaistiin vuonna 1977 , ja kehittäjiä pyydettiin käyttämään yhtä kolmesta kielestä: Pascal , Algol-68 tai PL / 1 . Kilpailuun lähetetyistä 15 projektista valittiin 4 (kaikki Pascalin perusteella). Nämä projektit lähetettiin jatkokehitettäväksi. Seuraavassa vaiheessa neljästä hankkeesta valittiin kaksi, joista toisen tarkistuksen jälkeen valittiin yksi. Tätä kieltä kutsuttiin nimellä "Ada" - sen kehittänyt ranskalaisen Jean Ishbian johtama ryhmä nimesi kielen Augusta Ada King Lovelacen (1815-1852), runoilija George Byronin tyttären kunniaksi. Hän kehitti ohjelmia Babbagen tietokoneelle. ja sitä pidetään ensimmäisenä ohjelmoijana maailmassa.
Vuonna 1983 ANSI standardoi kielen virallisesti . ANSI /MIL - STD-1815-A-1983 kielistandardi hyväksyttiin 17. helmikuuta 1983. Yhdysvaltain puolustusministeriö on tehnyt "Adasta" rekisteröidyn tavaramerkin, joka kieltää sellaisten kielten kääntäjien vapauttamisen, jotka eivät ole läpäisseet virallista standardien noudattamista koskevaa testausmenettelyä . Toimenpide käsitti suuren määrän (yli 1000) testiohjelmien (ns. ACVC-sarjan) suorittamisen testattavan kääntäjän kautta , joista jokaiselle määritettiin yksiselitteisesti testitulos: joko onnistunut käännös tai erittäin kokeen julkaisu. erityinen virheilmoitus. Testaus suoritettiin "kaikki tai ei mitään" -periaatteella - jos vähintään yhden testitapauksen käsittelyssä oli virhe, kääntäjän katsottiin läpäisemättömäksi ja testaus oli voimassa vain laitteisto- ja ohjelmistoalustalla. jota se toteutettiin. Tällä tavalla adan kielen murteiden muodostumisen mahdollisuus napsautettiin silmussa.
Vuonna 1987 ISO standardoi Ada-kielen virallisesti . Sittemmin Yhdysvaltain puolustusministeriö on julkaissut kielen .
Vuoteen 1990 mennessä maailmassa oli jo noin 200 Ada-kielistandardia vastaavaa kääntäjää .
Vuonna 1995 otettiin käyttöön uusi Ada-standardi, joka tunnetaan nimellä Ada95. Olioohjelmointityökalut tuotiin kieleen. Lisäksi kieltä täydennettiin edistyneemmillä työkaluilla vuorovaikutukseen muilla kielillä kirjoitettujen ohjelmien kanssa.
Maaliskuussa 2007 Ada-standardin muutokset julkaistiin [10] . He käsittelivät pääasiassa olio-ohjelmoinnin mahdollisuuksia : otettiin käyttöön rajapinnat , otettiin käyttöön useimmille hybridikielille yhteinen menetelmän kutsun syntaksi ja tehtiin useita lisäyksiä.
Vuonna 2012 ISO hyväksyi ja julkaisi uuden kielistandardin [11] .
Vuonna 1984 Neuvostoliiton toimittaja Melor Sturua Izvestia-sanomalehdessä antoi seuraavan arvion Ada-ohjelmointikielestä:
Pentagon-kieli on maailman vihollinen. "Adan" kieli on lämpöydinhelvetin ääni... "Adan" kielellä kuulee ihmiskunnan kirouksen.
- M. G. Sturua . 1984 ja "1984" [12]1980-luvulla Neuvostoliiton valtion tiede- ja teknologiakomitean alaisuudessa perustettiin adan kielen työryhmä . Ryhmä tutki kaikkia avoimia (ja huhujen mukaan salaisen tiedustelupalvelun kautta hankittuja) adan kielen tietoja ja tutki Adan kehittämisen ja käytön mahdollisuuksia ja tarkoituksenmukaisuutta Neuvostoliitossa. Tämän ryhmän toiminta johti 1980-luvun loppuun mennessä Ada-kääntäjien kehittämiseen lähes kaikille Neuvostoliitossa käytetyille tietokoneille. Adan kielestä on julkaistu useita kirjoja venäjäksi.
Moskovan valtionyliopistossa tehtiin työtä omien pakettien luomiseksi mainoskääntäjien standardien noudattamisen testaamiseksi. Leningradin valtionyliopistossa Ada-järjestelmän luomiseen käytettiin aiemmin Algol-68:n toteuttamiseen kehitettyä Pallada-järjestelmää, joka siirrettiin Adalle. Järjestelmä sisältää integroidun kehitysympäristön, kääntäjän, tekstieditorin, debuggerin, kirjastot, versionhallintajärjestelmän ja komentotulkin.
Neuvostoliiton romahtamisen jälkeen Adan jakelutyö keskeytettiin käytännössä. Totta, kolme Adan ohjelmistokehityksen kehittämisohjelmaa hyväksyttiin ( puolustusministeriössä , siviili-ilmailuministeriössä ja opetus- ja tiedeministeriössä ), mutta niiden kehitys on hidasta ja koordinoimatonta. Tämän seurauksena Ada-kieli on vähän tunnettu Venäjällä , useimmat nykyaikaiset venäläiset ohjelmoijat pitävät sitä "kuolleena kielenä" eivätkä tiedä siitä mitään. Adaa käyttävät Venäjällä ja IVY -maissa yksittäiset harrastajat. Kieltä käytetään kuitenkin teolliseen ohjelmistokehitykseen. Adassa on kehitetty useita projekteja, jotka toimivat Venäjällä. Heidän keskuudessaan:
Adaa on sen perustamisesta lähtien kritisoineet eräät ohjelmointikielten kehittämisen tunnetut viranomaiset, pääasiassa syntaksin monimutkaisuuden ja suuren volyymin vuoksi. Etenkin Charles Hoare ja Niklaus Wirth (jotka osallistuivat projektillaan tähän kilpailuun, mutta putosivat pois ensimmäisen vaiheen jälkeen) sekä Edsger Dijkstra kritisoivat kieltä .
Dijkstra epäili, että niin monimutkaista kieltä kuin Ada voitaisiin nähdä ja hallita.
Jos Ada aikoo julkaista standardin, on toivottavaa, että se dokumentoidaan yksiselitteisesti. Ainakin kaksi ryhmää on yrittänyt tehdä niin; tuloksena molemmat tuottivat noin 600 sivua muodollista tekstiä. Tämä on paljon enemmän kuin on tarpeen sen varmistamiseksi, että on mahdotonta edes varmistaa, että molemmat asiakirjat määrittelevät saman kielen. Virhe näiden kahden asiakirjan näennäisessä hallitsemattomuudessa ei piile kahdessa ryhmässä, jotka ovat laatineet ne, ei niiden omaksumassa formalismissa, vaan vain itse kielessä: antamatta muodollista määritelmää, voivatko sen kehittäjät piilottaa tarjoavansa hallitsemattoman hirviön. . Se, että Ada vähentää ohjelmointiongelmia ja lisää suunnitelmiemme luotettavuutta hyväksyttäviin rajoihin, on vain yksi niistä saduista, joihin vain sotilastaustaiset ihmiset voivat uskoa.
— Tieteisfiktio ja tieteellinen todellisuus tietojenkäsittelytieteessä (Edsger W. Dijkstra, EWD952)Hoare ilmaisi pahoittelunsa siitä, että "helistit ja rihmastot ovat menneet luotettavuuden ja turvallisuuden perusvaatimusten edelle" ja varoitti "ohjusten armadalta, joka lensi väärään suuntaan Ada-kääntäjän havaitsemattoman virheen vuoksi". Niklaus Wirth puhui pidättyvämmin, mutta myös kielteisesti. Hän sanoi: "Ohjelmoijalle heitetään liikaa. En usko, että kun on opiskellut kolmannesta Adasta, voi työskennellä normaalisti. Jos et hallitse kaikkia kielen yksityiskohtia, voit tulevaisuudessa kompastua niihin, ja tämä johtaa epämiellyttäviin seurauksiin . Jean Ishbia , Adan kehitystiimin johtaja, ilmaisi "kunnioituksensa ja ihailunsa" Wirthiä kohtaan, oli eri mieltä ja sanoi: "Wirt uskoo yksinkertaisiin ratkaisuihin monimutkaisiin ongelmiin. En usko sellaisiin ihmeisiin. Monimutkaiset ongelmat vaativat monimutkaisia ratkaisuja."
Epäilyksiä herättää myös menettely, jolla kääntäjän kielistandardinmukaisuus tarkistetaan testaamalla. Yleisesti tarkasteltuna on selvää, että testaus voi löytää epäjohdonmukaisuuksia, mutta ei voi taata oikeellisuutta. Käytännön vahvistus tälle on se, että sertifioidut kääntäjät havaitsivat standardin noudattamatta jättämisen, kun niitä testattiin eri testisarjoilla [14] .
Adan kannattajat väittävät, että ainoa vaihtoehto suurelle ja monimutkaiselle kielelle suurissa projekteissa on useiden kompaktien kielten käyttö, mikä luo väistämättä yhteensopivuusongelmia, joista Ada keksittiin päästä eroon. He huomauttavat myös, että Ada-kehityksen monimutkaisuuden käsite on vain osittain totta: yksinkertaisen ohjelman kirjoittaminen Adassa vie enemmän aikaa kuin muilla vähemmän muodollisilla kielillä, kuten C , mutta ohjelmien, erityisesti suurten ja monimutkaisten ohjelmien, virheenkorjaus ja ylläpito on suuresti yksinkertaistettuna. Stephen Zeigerin Rational Software Corporationista [15] mukaan ohjelmistokehitys Adassa on yleensä 60 % halvempaa ja kehitetyssä ohjelmassa on 9 kertaa vähemmän vikoja kuin C-kielellä.
Käytännössä kävi ilmi, että Ada, joka oli miehittänyt sille tarkoitetun markkinaraon armeijassa ja siihen liittyvissä sulautettujen järjestelmien kehityksessä, ei ylittänyt tätä markkinarakoa lännessä, Neuvostoliitossa tai Neuvostoliiton jälkeisessä tilassa. Tähän on monia syitä. Kielen vastustajat luottavat sen monimutkaisuuteen ja puutteisiin, kannattajat puhuvat ennen kaikkea kielen esiintymisen objektiivisista olosuhteista ja sen täytäntöönpanoprosessin kielteisistä puolista. Moskovan valtionyliopiston vanhempi tutkija, AdaCore EU:n konsultti, kielistandardia käsittelevän ISO-työryhmän [14] ada-kielen asiantuntija S. I. Rybinin mukaan Ada johtuu epäonnistumisistaan kahdesta pääasiallisesta syystä:
Joidenkin varovaisten ennusteiden mukaan laitteistojen halpenemisen ja monimutkaisilla ohjelmistoilla varustettujen sulautettujen järjestelmien yleistyessä Adan ohjelmamarkkinat voivat kuitenkin kasvaa merkittävästi:
… Ada on melko lujasti suurten sulautettujen järjestelmien kapealla, jolla on korkeat luotettavuusvaatimukset, eikä se todennäköisesti väisty kenellekään tässä markkinarakossa lähitulevaisuudessa. Kun laitteistokomponenttien suorituskyky nousee ja niiden kustannukset laskevat, sulautetut järjestelmät muuttuvat yhä monimutkaisemmiksi, ja saattaa osoittautua, että Ada-sovellusten potentiaaliset markkinat kasvavat pian merkittävästi.
– S.I:n haastattelu Rybina [14]Lisäksi Adalla on, vaikkakin hyvin rajoitetusti, hakemuksia korkeakoulutukseen. Adan erikoiskursseja opetetaan Moskovan valtionyliopistossa ja Harkovin yliopistossa. Kuitenkin saman S.I. Rybinin mukaan
... nyt neuvostoliiton jälkeisessä tilassa ohjelmistoteollisuuden ja koulutuksen alalla on muodostunut ilmeinen noidankehä: teollisuudessa he eivät käytännössä tiedä Adasta, vastaavasti teollisuudesta ei ole kysyntää koulutukselle kouluttaa Adan asiantuntijoita, ja yliopistoista tulee alalle uusia ihmisiä, jotka eivät tiedä Adasta käytännössä mitään.
Adassa on kirjoitettu useita käyttöjärjestelmiä, muun muassa MaRTE Arkistoitu 10. heinäkuuta 2017 Wayback Machinessa , RTEMS (avoimen lähdekoodin järjestelmä, jonka on kehittänyt DARPA , Yhdysvaltain puolustusministeriö , käytetään rakettijärjestelmissä ja Mars Reconnaissance Orbiterissa ohjausradiomoduuli "Electra"), Ravenskar , RTOS-32 . Useita muita projekteja käyttöjärjestelmien luomiseksi Adalle on kehitteillä, muun muassa - AuroraUX - projekti OpenSolaris -ytimen uudelleenkirjoittamiseksi ja sitten - DragonFly BSD sekä projekti Lovelace - järjestelmän luomiseksi L4 - mikroytimeen .
Aiemmin Adassa oli kirjoitettu muita käyttöjärjestelmiä, niiden joukossa - BiiN, Pulse, AdaOS.
Tällä hetkellä kehitetään käyttöjärjestelmää Muen [16] , joka on kirjoitettu Adassa ja SPARKissa, käytetään opetuskäyttöjärjestelmää Ada Bare bones [17] , Microkernel Ada (TAMP [18] ).
Nimi | Yhtiö | Versio | Kohdealustoille | Verkkosivusto |
---|---|---|---|---|
DragonLace-projektin kääntäjät (GNAT AUX ja tulevat DRACO Ada -kääntäjät) | yhteisöprojekti | Ada - kaikki kielen versiot; kääntäjäversiot: 4.9.x tai 6.3.x (eri alustoille) | LLVM, DragonFly, FreeBSD, NetBSD, OpenBSD, OmniOS, Android | http://www.dragonlace.net/ Arkistoitu 31. maaliskuuta 2018 Wayback Machinessa |
Ada-C/C++ Changer (perustuu AdaMagic-tekniikkaan) | MapuSoft | Ada 83, Ada 95, Ada 2005:n osajoukko | C, C++ | www.mapusoft.com Arkistoitu 21. marraskuuta 2016 Wayback Machinessa |
Ada/Toim | New Yorkin yliopisto | Ada 83 | MS-DOS x86 , UnixWare | www2.informatik.uni-stuttgart.de |
AdaMagic | SofCheck | Ada 95 | ? | www.sofcheck.com Arkistoitu 4. maaliskuuta 2021 Wayback Machinessa |
AdaMULTI | Green Hills -ohjelmisto | Ada 83, Ada 95, C , C++ , Fortran | Solaris SPARC , GNU / Linux x86 , Windows | www.ghs.com Arkistoitu 15. tammikuuta 2021 Wayback Machinessa |
DEC Ada | Hewlett Packard | Ada 83 | openvms | h71000.www7.hp.com |
GNAT | AdaCore | Ada 83, Ada 95, Ada 2005, Ada 2012, C | Solaris SPARC, Linux x86/ x86-64 , Windows, Java Virtual Machine , muut | libre.adacore.com Arkistoitu 12. helmikuuta 2005 Wayback Machinessa |
ICC | Irvine Compiler Corporation | Ada 83, Ada 95 | DEC VAX / VMS , HP 9000/700 , Solaris SPARC, DEC Alpha OSF/1 , PC Linux, SGI IRIX , Windows | www.irvine.com Arkistoitu 2. toukokuuta 2009 Wayback Machinessa |
Janus/Ada | RR ohjelmisto | Ada 83, Ada 95 | SCO , UnixWare , Interactive , MS-DOS , Windows | www.rrsoftware.com Arkistoitu 21. tammikuuta 2022 Wayback Machinessa |
MAXAda | Samanaikainen | Ada 95 | Linux/ Xeon , PowerPC | www.ccur.com Arkistoitu 3. syyskuuta 2011 Wayback Machinessa |
ObjectAda | PTC | Ada 95, Ravenskar | Solaris SPARC, VxWorks , HP-UX , IBM AIX , Linux, Windows, Java Virtual Machine /Java selaintuella | www.ptc.com Arkistoitu 10. lokakuuta 2016 Wayback Machinessa |
PowerAda | OC-järjestelmät | Ada 83, Ada 95 | Linux, AIX (Ada 95); IBM System 370/390 (Ada 83) | www.ocsystems.com Arkistoitu 24. elokuuta 2010 Wayback Machinessa |
Rational Apex | IBM Rational | Ada 83, C, C++ | Solaris SPARC Linux | www-01.ibm.com Arkistoitu 27. syyskuuta 2009 Wayback Machinessa |
PISTEET | DDC-I | Ada 83, Ada 95, C, Fortran | Solaris SPARC, Windows | www.ddci.com |
XD Ada | SWEP-EDS | Ada 83 | OpenVMS Alpha/VAX | www.swep-eds.com |
XGC Ada | XGC ohjelmisto | Ada 83, Ada 95, C | Solaris SPARC, PC Linux, Windows ( Cygwin ) | www.xgc.com Arkistoitu alkuperäisestä 9. helmikuuta 2013. |
LLVM ( Low Level Virtual Machine ) | LLVM Developer Group | useimmissa UNIX-tyyppisissä järjestelmissä ja Windowsissa | llvm.org | |
A# (Adan portti Microsoft .NET -alustalle ) | Yhdysvaltain ilmavoimien akatemia ( GNU ) | Windows | asharp.martincarlisle.com Arkistoitu 2. heinäkuuta 2011 Wayback Machinessa |
LLVM , GNAT ja XGC (joillekin alustoille) lukuun ottamatta yllä mainitut kääntäjät ovat maksullisia. Jotkut yritykset, kuten Aonix , tarjoavat ilmaisia demoja, jotka ovat joko ajallisesti tai toiminnallisesti rajoitettuja.
NetBeans [19] ja Eclipse -kehitysympäristöissä on lisäosia Adan kanssa työskentelyyn.
Adan syntaksi toistetaan suurelta osin kielillä, kuten PL/SQL (ja myöhemmin PL/pgSQL ), VHDL , SPARK .
Ohjelmointikielillä E [20] ja Clarity [21] , sitten monilla muilla: esimerkiksi kielillä Erlang , Fortress , Chapel , X10 , D ja Go ideoita hajautetusta, moniajosta, monisäikeisestä laskennasta. , joita itse kieli toteuttaa, kehitettiin edelleen, ei ulkopuolisten kirjastojen avulla, joita käytettiin ensin laajasti käytännössä Ada-kielellä.
Ohjelmointikielet | |
---|---|
|