internetul Windows. Android

Ada Limba - Douăzeci de ani mai târziu. Limba de programare a iadului (limba de programare) care, în special

Toate limbile de programare sunt împărțite în două grupe:

1. cu tipuri "statice" (sau "puternice");

2. cu tipuri "dinamice" (sau "slabe").

Ambele grupuri de limbi au avantajele și dezavantajele lor. Teza principală a acestui articol: "Iadul este cel mai bun limbaj cu tipuri statice».

Avantajele limbilor cu tipuri statice (și, prin urmare, avantajele automate ale ușilor, deoarece iadul se referă la limbi cu tipuri statice):

1. Viteza mai mare a programului este o mulțime (adesea în sute) de ori (apropo, consumul de energie electrică pentru încălzirea inutilă a procesorului scade în același timp);

2. Abilitatea (implementată pe deplin în ADE) Controlul mai fiabil al erorilor "stupide", cum ar fi numerele "confuze" și o variabilă de șir (secvențe de simboluri).

Iadul, într-un sens, este o limbă cu tipurile "cele mai puternice" între limbile cu tipuri puternice. De aici concluzii automate:

1. ADA este una dintre cele mai rapide limbi de programare între toate limbile de programare. Programul poate lucra de fapt de o sută de ori mai rapid decât limbile dinamice de programare.

2. ADA marchează complet erorile "stupide" cu tipuri de date confuze. Pe aceasta ne vom concentra mai jos.

Istoria ADDIA.

Istoria aspectului iadului merită o considerație separată.

Pentagon (Ministerul American al Apărării este chemat, deoarece acestea sunt situate în forma sub formă de Pentagon) a anunțat o competiție pentru crearea unui limbaj de programare pentru rezolvarea sarcinilor militare. Limba a fost aceea de a asigura o fiabilitate ridicată a programelor, este posibilă furnizarea de sisteme complexe mari, să fie de mare viteză și citit pentru programatori (chiar dacă textul programului a fost scris de un alt programator), precum și menținerea utilizării eficiente a Sisteme multiprocesoare (recent primite pe scară largă în formă de procesoare multi-core - Observați cum dezvoltatorii au privit în viitor!)

În competiție, limba "iadului" a fost înfrântă (intitulată în cinstea matematicii din secolul al XIX-lea Ada Lavleis). Până în 1983, a fost scrisă așa-numita specificație formală a ușilor, care a devenit cunoscută sub numele de ADA83.

ADA83 nu a respectat cerințele pentru limba de programare modernă. Prin urmare, la baza sa, ADA95 (1995) a fost creată, care poate fi deja numită limba modernă, iar mai târziu Ada2005 și Ada2012 (este clar ce an).

Iadul a câștigat pe scară largă în zonele care necesită o fiabilitate sporită (industria militară, finanțe, gestionarea infrastructurii etc.), de exemplu, aeronava F-16 este făcută pe ADE.

Lista avantajelor anunțurilor

Lista avantajelor de bază ale iadului:

1. Ada este una dintre cele mai rapide limbi de programare. Programul poate lucra cu adevărat de o sută de ori mai rapid.

2. ADA marchează complet erorile "stupide" cu tipuri de date confuze.

3. Suport bun de control chiar împotriva greșelilor mai puțin brute. (Acest lucru oferă de patru ori mai puține erori în programele de pe ADE). Pe aceasta ne vom concentra mai jos.

4. Structura modulară Limba. Suport pentru programe mari și complexe.

5. Foarte suport bun Procesoare moderne multi-core, precum și supercomputere cu mai mult de un procesor.

6. Limba de programare "puternică": programarea orientată pe obiecte, șabloane, gestionarea flexibilă a alocării memoriei dinamice etc., etc. (Nu vă faceți griji dacă nu înțelegeți terminologia: înseamnă pur și simplu că iadul este un limbaj modern puternic ).

7. O compilație rapidă (un programator este mai puțin în așteptare până când iadul va crea un fișier fișier .exe și are mai mult timp liber pentru programare și căutare a erorilor).

8. Sprijin pentru toate tipurile de dispozitive: computere, electronice încorporate, nave cosmice etc.

9. Limba este astfel încât este convenabilă nu numai să scrieți, ci și să citiți (dacă sunteți programator).

10. Există un mediu gratuit, dar bun de dezvoltare (programe programatice).

11. Există un standard internațional.

12. Fracțiunile zecimale vă permit să lucrați, de exemplu, cu informații financiare.

Fiabilitate sau viteză

Între cerința de fiabilitate și viteză există o contradicție naturală:

Pentru ca programul să funcționeze cu cea mai mare viteză posibilă, este necesar să refuzați verificarea corectitudinii programului în cursul execuției sale.

De exemplu, există o listă de 10 numere. Dacă programul încearcă să schimbe cel de-al 12-lea număr din această listă este prostii. Dacă cecul nu a fost implementat, acest program va înregistra numărul 12, exprimând terminologia tehnică, "unde a căzut", iar programul vă poate strica și începe să facă ceva fără sens.

Prin urmare, pentru a asigura fiabilitatea, programul ar trebui să efectueze controale împotriva unor astfel de acțiuni fără sens. Dar verificarea necesită costul timpului procesorului.

Rezoluția acestei contradicții în iad: Există două moduri de funcționare: cu cecuri și fără verificări (mai precis, modurile sunt mai mult, deoarece este posibil să se selecteze anumite tipuri de cecuri și unii de plecare). Cu cecuri, programul poate lucra de mai multe ori mai lent, dar cu controale de multe ori se întâmplă mai des că programul începe să facă o prostie completă.

Adesea, verificările sunt lăsate pe programul inițial de depanare (Corecție și eroare de corecție) și se opresc când programul este gata să mărească viteza și să reducă costul energiei electrice pentru încălzirea procesorului. Dacă comandați o programare în iad, putem fi de acord dacă să lăsăm verificările incluse după ce vă transmit un program gata.

Apropo, Iadul este gata să verifice nu numai cele mai remarcabile nonsens (cum ar fi cel de-al 12-lea element din lista de 10 numere sau diviziuni pe zero), dar și erori mai puțin brute. Sistemul unic de tipuri "puternice" din ADE este capabil să verifice automat, de exemplu, luna respectivă în intervalul de 1..2 (și nu a 14-a lună, de exemplu). Aceste verificări vă permit să faceți un program mult mai fiabil decât programele din alte limbi de programare. Versiunile recente ale faptelor permit în plus programatorului să facă în general orice tipuri de verificări pe care dorește să le facă.

Mituri despre Ade.

Mitul 1: Iad - Limba de programare "antică"

De fapt, acest mit este adevărat numai pentru prima versiune a ADA83, dezvoltată în 1983.

DAR ultima versiune Specificații suplimentare, ADA2012 este un limbaj de programare complet și modern, cu caracteristici moderne, cum ar fi programării orientate pe obiecte și tipuri de șabloane.

Aș spune că iadul este chiar limbajul "mai modern" decât alte limbi moderne de programare.

Mitul 2: Iad doar pentru sisteme mari

Da, Iadul a fost dezvoltat în primul rând pentru sisteme mari, cum ar fi proiecte complexe de apărare ale Pentagonului.

Dar aceste caracteristici "mari" sunt utile pentru sisteme mai puțin complexe. Acestea fac programarea ca un întreg mai convenabil și mai fiabil, chiar și pentru programe atât de mai mari. Acestea reduc timpul de depanare (căutare de eroare) și, prin urmare, reduce timpul general de dezvoltare. Aceasta înseamnă că fac aceeași lucrare în mai puțin timp.

Mitul 3: Iadul este pentru electronică

Într-adevăr, iad - o limbă bună Programare pentru sistemele "încorporate" (electronice), dar este la fel de bun pentru computerele personale obișnuite. E doar universală.

Mitul 4: ADA necesită tehnologii scumpe

De fapt, există un compilator gratuit al ADDA (GNAT) pentru majoritatea sistemelor de operare moderne. Acesta vine cu tot programul pentru un programator profesionist.

Lucrez în primul rând cu Linux. Și, desigur, există un Gnat pentru Linux.

Dezavantaje ale anunțurilor

Poate că ar fi nedrept să vorbești numai despre merite și să nu menționez deficiențele.

Iadul are următoarele dezavantaje:

1. Ada este un instrument profesionist puternic și, prin urmare, să le folosească pentru a utiliza, aveți nevoie de un specialist înalt calificat (ca mine!)

2. Din păcate, iadul nu a devenit o limbă extrem de populică. Ca urmare, "componente" (fragmente de programe gata făcute) pentru mai multe sarcini sunt absente. De exemplu, nu există componente foarte bune pentru dezvoltarea site-urilor web pe ADE.

3. Programul de pe ADE se poate dovedi oarecum mai lung decât în \u200b\u200balte limbi de programare; Prin urmare, ceea ce este plasat pe o singură pagină a textului, să spunem pe Pajton (apropo, fac, de asemenea, programarea pe Pajton), este posibil să nu se potrivească pentru o pagină pe iad.

4. Există mai multe defecte (pe care nu le voi vorbi în detaliu, deoarece o astfel de conversație necesită terminologie specială), dar pot părea avantaje împotriva fundalului dezavantajelor altor limbi de programare.

Sergey Bobrovsky.

Istoria acestei limbi începe de la 1975, când Departamentul de Apărare al SUA (Mo) a decis să înceapă să dezvolte un singur limbaj de programare pentru forțele armate americane și în viitor și pentru toți NATO. Povestea lui începe cu numele, pentru iad - numele lui Augustus Auu Lavleis, care este considerat primul programator, fiica poetului englez al lui Bairon și unii Anabella Milbank, cu care soțul sa despărțit pentru totdeauna la o lună după nașterea Fiica, care a apărut pe 10 decembrie 1815. În general, istoria cibernetice este învăluită într-un mister sumbru, și numai pentru faptele fragmentare se poate judeca că diferite mistici și ocultiști în ultimele două sute de oameni au fost în ultimii două sute de ani, din august de Morgana, unul dintre profesori de ADDA și se încheie cu suportorii lui Norbert Wiener, care au studiat metodele de formare opinia publică și manipularea acestora.

După ce Charles Babbage și-a construit mașina de calcul mecanică, ADA a scris pentru primul program pentru a calcula coeficienții Bernoulli. În viitor, ea a dezvoltat o teorie reală de programare, a introdus conceptul de ciclu și mai mulți termeni-cheie, care sunt aproape literalmente învățarea astăzi studenți de facultăți cibernetice! Astăzi, Iadul este cunoscut tuturor ca primul programator - și numai, dar este surprins de faptul că tânăra are astfel de abilități unice? Ea însăși ea însăși răspunse sincer în această întrebare: "Jur că diavolul că nu ar fi de 10 ani, așa cum am văzut o anumită sumă de sânge vital din misterele universului și, deoarece nu ar fi capabil să facă moartea obișnuită și Buzele. Nimeni nu știe ce energia și puterea teribilă se află încă neutilizată în creatura mea flexibilă mică ... ". Cu toate acestea, sponsorii de pe proiectul mașinii de calcul nu au fost găsite - rachetele nucleare nu au fost încă acolo, iar iadul, pierzându-și toată statul și lovind istoria murdară, a murit la vârsta de 37 de ani, ca tatăl ei faimos.

Prin urmare, dacă americanii au atât de mult pentru a exija ca dracu, folosind numele ei ca nume pentru un astfel de proiect ambițios, întrebarea este foarte controversată.

Dar înapoi la istoria limbii în sine. La cinci ani de la începerea proiectului, sute de experți au fost selectați dintre cele 17 opțiuni, singurul care satisface cerințele MO, limba dezvoltată de un grup mic sub îndrumarea unui om de știință talentat Jean Ishbia. Versiunea finală a internaționalului standard ISO. 8652: 1987 a fost publicată în 1987. Potrivit rapoartelor oficiale, toți cei mai buni specialiști din domeniul programării au participat la crearea și rafinamentul acestei limbi, ceea ce, totuși, este discutabil. Acest lucru, de exemplu, este confirmat de lipsa conceptului de obiect în versiunea originală a anunțurilor și neparticiparea, din motive evidente, în acest proiect de programatori sovietici.

Zeci de miliarde de dolari au fost investite în dezvoltarea infrastructurii ADU din întreaga lume. Acest lucru a dus la apariția unor declarații ambițioase de tip "secolul al XX-lea va fi sub semnul anunțurilor", totuși, ca de obicei, viața toate înființează în locul său.

Din păcate, pentru Statele Unite (și, în consecință, din fericire pentru "potențialii adversari" ai Americii), dezvoltarea unui standard clar pentru această limbă și crearea unor compilatoare eficiente au fost finalizate doar la acel moment (începutul anilor '80), când este era deja în curs de dezvoltare la orizontul industriei de software Noua limbă C ++ cu ideologia obiectului. Este acum dificil să spunem că Comitetul dezvoltatorilor ADA a experimentat modul în care popularitatea C ++ și o paradigmă veche, bine uitată, este în creștere. Dar fondurile dedicate au fost deja cheltuite, standardul a fost creat și nu a existat niciun drum de întoarcere.

Structura ADA este foarte asemănătoare cu Pascal, și chiar mai precis, pe modul. Sintaxa celor mai mulți operatori și descrieri este practic identică cu modulele de sintaxă, deși a apărut aproape în același timp cu iadul și este greu de spus cine a influențat și dacă are un impact deloc. În naiba, în special, au fost adăugate destul de multe extensii diferite, atât de compacte, în comparație cu același Pascal, această limbă nu poate fi numită în nici un fel. Prin numărul de oportunități, acesta va reaminti mai degrabă PL / 1. Dar, deoarece accentul principal al creatorilor ușilor au fost făcute pentru respectarea dorințelor "primelor departamente" americane, atunci mijloacele de închidere (vizibilitate) a datelor și capacitatea de a crea blocuri individuale folosind numai specificații (descrieri de interfață de module) ale altor dezvoltatori pentru timpul lor cel mai perfect. De exemplu, un programator, de fapt, scrie codul pentru calcularea calea de zbor al rachetei înaripate, nici măcar nu și-a imaginat unde și în ce scopuri vor fi utilizate modulul său, deși a avut acces la specificațiile cerute ale altor angajați și ar putea să-și abordeze cu ușurință Codul de cod fără probleme. Datorită distincției stricte a accesului la diferite niveluri de specificații, uneori este imposibil să se determine pentru care această procedură va fi numită. Cu toate acestea, astfel de aspirații pentru programe de dezvoltare independente au condus la un sistem foarte complex de relații dintre specificațiile modulelor și apariția unor "găuri" capabile să provoace efecte secundare, prezența căreia, însă, SUA consideră chiar utilă.

Elementele consolidate semnificativ de tastarea datelor și tipurile în sine sunt mai formalizate. Toate funcțiile asociate introducerii au fost excluse din sintaxa standard, iar prelucrarea situațiilor excepționale a devenit o parte integrantă a limbii. În plus, a fost adusă la limita de putere a structurilor de control, care au făcut-o cea mai avansată printre alte limbi de pasageri.

Borland a lansat în curând Turbo Pascal, care a fost construit în conceptul modulului și a adus versiunea lui Pascal cât mai mult posibil, dar în viitor încercările de a crea lectură limbile de programare ale celei de-a treia generații, destinate dezvoltării Proiectele super-înalte, din fericire, nu au fost întreprinse. Prin urmare, iadul a pus un punct îndrăzneț într-un șir lung de limbi simple procedurale, începând cu Fratran și Algola. De fapt, tot ceea ce ar putea fi inventat în cadrul ideologiei programării structurale a fost încorporat în ADE. Apoi, programarea obiectului a fost înflorită rapid, iar iadul sa mutat în fundal.

Cu toate acestea, această limbă încă ocupă o nișă în care nu există egal cu el. În plus față de compilarea separată a modulelor și asigurarea secretului ierarhic al specificațiilor, o astfel de proprietate a fost implementată în acest limbaj ca o programare paralelă susținută. S-au încheiat la un nivel mai mult sau mai puțin înalt în Algole-68, apoi dezvoltat în modulul 2, a fost încorporat în agenți foarte puternici ai comorilor, așa-numitele sarcini care pot fi efectuate independent unul de celălalt pe computerele paralele. Acest lucru a condus la nașterea unei ideologii întregi de programare pe baza sarcinilor care ar putea fi efectuate "pseudo-paralele" - pe un computer cu un procesor. În același timp, sarcina solidă în sine a fost împărțită într-un set de proceduri simultan de lucru, interacționând independent unul cu celălalt. Acest lucru este puțin reamintit calea de a rezolva problema pe prolog: descrie doar unele mirl VirtualȘi apoi îi place "începe" în funcție de funcție, iar soluția este singură.

În mod deosebit în mod surprinzător, Statele Unite pentru un motiv sau altul abandonat ideologia obiectului, perfect încorporată

60 în Simul 67 și, probabil, a regretat-o \u200b\u200bde mai multe ori. Adevărat, o înlocuire patetică a unui număr de capabilități oferite de programarea orientată pe obiecte a fost introdusă în limba cum ar fi programarea orientată pe obiecte - așa-numitele șabloane, adică proceduri cu parametrii de tipuri incerte. Dar toate aceleași avantaje principale ale ușilor, permițându-le astăzi să reziste la fața unor limbi mai dezvoltate, pe lângă finanțare puternică, sprijin încorporat pentru sarcini paralele și instrumente puternice de coordonare pentru interacțiunea lor. Trebuie remarcat faptul că orientarea principală a ADA nu este în nici un caz un sistem de automatizare a contabilității în SUA și misiuni de combatere pur, de exemplu, de exemplu, cum ar fi navigația cu microprocesor în racheta de auto-dispersie în timp real, unde Este necesar să se proceseze în același timp informații, continuu de intrare dintr-o varietate de senzori mai diverși.. Anterior, aceste sarcini au fost scrise pe un asamblator, ceea ce a condus la o varietate de erori și dificultăți de acompaniament. Pentru astfel de sarcini de iad, bineînțeles, adecvate, deoarece este imposibil.

Cu toate acestea, Iadul continuă să fie poziționat și ca un instrument bun pentru dezvoltarea complexelor software mari. Adevărat, acum vocile din sprijinul acestei limbi sunt deja mai silențioase, aproximativ astfel: "Iadul cel puțin nu mai rău decât Si". MO USA, ținând seama de principalele sale greșeli - absența obiectelor, în conformitate cu cerințele moderne pentru tehnologia de dezvoltare a programului a elaborat un nou standard ISO / IEC 8652: 1985 (e). Acesta descrie versiunea limbii ADA95 (sau ADA9X). Cel mai interesant lucru este că această versiune este primul sistem de programare orientat spre obiect, pe care este introdus standardul internațional, aparent, într-o bază de comandă (cu C ++ până în prezent se dovedește). În plus, limba vizibilității datelor în caietul de module a fost îmbunătățită în limba și mijloacele de creștere a eficienței funcționării problemelor paralele.

Statele Unite se referă destul de jeinicos la creierul său dragi și chiar au înregistrat cuvântul "Ada" ca marcă comercială. Adevărat, ulterior, în loc de marcă comercială, MO a decis să utilizeze "ADA" ca semn certificat intern. Fără o mare bucurie, SUA se referă la apariția unor versiuni comerciale ale acestei limbi. Desigur, nimeni nu are dreptul să vă interziceți să vă scrieți compilatorul, dar că el primește recunoașterea comercială, respectarea acesteia este necesară pentru standardul militar, iar testarea se efectuează numai de către Comitetul AJPO cu US MO, care verifică foarte strict Compilatorul compilatorului pentru multe cerințe, inclusiv politice evident și pur.

Cu toate acestea, diferitele versiuni ale faptelor pot fi obținute, așa cum se întâmplă de obicei cu limbile de programare, adică, vreau să spun un cadou, doar nu un mod pirate, ci doar versiunea freeware și, desigur, pentru bani.

Din versiunile gratuite, în primul rând este necesar să se evidențieze compilatorul Gnat - GNU ADA95. Ca parte a proiectului GNU (distribuit liber), acesta poate fi obținut în textele sursă. Poate funcționa pe un computer cu un procesor, numai este necesar ca sistemul de operare să suporte multitasking. Aceasta poate fi, de exemplu, un fel de versiune UNIX sau OS / 2. În ceea ce privește dosul dos - ghiciți-vă singur. Cu toate acestea, dacă doriți cu adevărat să conduceți o sută de alte procese paralele asupra personalului dvs. sub dos DOS 6.x, este foarte posibil să încercați ADA / ED - compilatorul și interpretul versiunii lingvistice din 1987, care, Cu toate acestea, este complet incompatibil cu standardul și nu are o serie de elemente esențiale.

Dacă există bani, situația, desigur, este facilitată. În cadrul salariului lunar al programatorului rus intermediar, puteți achiziționa, de exemplu, FirstAda și scrieți un sistem de control al frigiderului. Sisteme mai scumpe pentru Windows, OS / 2 sau UNIX, certificate de SUA, puteți încerca să achiziționați direct de la firmele dezvoltatorilor, există aproximativ o duzină.

Interesant, standardizarea nu a fost doar limba în sine, ceea ce a făcut posibilă crearea unor programe ușor portabile, ci și un set de ajutoare pentru dezvoltatori - diverse biblioteci I / O și organizarea interfeței grafice, preprocesoare, verificatori, generatoare de cod, analizoare ale Codul sursă logic, compilatoarele programelor de testare etc. Desigur, există pachete mari care includ toate mijloacele standardizate de dezvoltare, dar sunt cel mai probabil foarte scumpe.

Ar fi foarte interesant să știți dacă URSS lucra la limbile destinate rezolvării unor sarcini militare similare. Sau specialiștii noștri scriu numai pe asamblare?

Dacă cereți unui specialist IT intern: "Ce este iadul?" Majoritatea va ridica doar surpriza, iar cineva chiar va spune că acesta este un limbaj mort, o dată inventată de Pentagon și acum practic nu a fost folosit. De fapt, CEE și astăzi este destul de prosperă și utilizată în mod activ în diferite domenii ale limbajului de programare. Adevărat, majoritatea programatorilor ruși știu puțin despre asta.

Probabil, toți cei care trebuiau să se bucure de linia de paisprezecea a metroului Paris, se întrebă, după ce a văzut trenul, în care nu există cabină de cabină. Mișcarea trenului pe această linie este controlată complet de programul AD.

În ciuda tuturor lucrurilor, în anumite domenii ale tehnologiei, Rusia este încă "înaintea planetei." Și unul dintre ei este proiectarea și producția de avioane amfibiene. Liderul recunoscut în lume în acest domeniu este ratat. G.M. Beriev. Recent, această companie a dobândit dezvoltarea la bord software. Pe baza limbii iadului pentru a fi utilizate la îmbunătățirea acestuia ultimul model BE-200.

Între timp, majoritatea profesioniștilor IT naționali nu știu nimic despre limba iadului, în cel mai rău lucru - au o idee complet greșită de herde ca limbă de monstru, a inventat odată de Pentagon pentru dezvoltarea sistemelor militare , și acum uitat în cele din urmă.

Un pic de istorie

Ziua de naștere oficială a limbajului de programare a iadului poate fi luată în considerare la data de 17 februarie 1983 - aprobarea datei standardului ANSI / MIL-STD-1815-A-1983.

Măsurile tehnice și administrative luate de Ministerul Apărării ca parte a proiectului de a crea și implementa ADA au împiedicat complet apariția și diseminarea dialectelor lingvistice. Din 1983 până în prezent, toate implementările industriale susțin standardul ADA actual. Când vine vorba de subseturile anunțurilor, aceste subseturi nu sunt determinate de neaplicuare, ci standardele pentru dezvoltarea unei clase specifice de sisteme.

În 1987, standardul ANSI a fost aprobat ca un standard ISO (ISO / IEC 8652), iar atunci când este necesară, de asemenea, necesitatea revizuirii standardului, lucrările la revizuire, sub administrația Ministerului Apărării a Statelor Unite la începutul anilor 1990 . Un nou proiect internațional a început, care sa încheiat cu declarația de la sfârșitul anului 1994 și publicarea la începutul anului 1995 versiune noua Standard ISO / IEC 8652. Acesta este acest document și servește astăzi prin definirea limbajului de programare al iadului.

În URSS, la începutul anilor '80, un grup de lucru a fost format din programul de programare în cadrul Comisiei de Stat pentru Știință și Tehnologie. A adunat cu atenție și analizat toate informații deschise. Despre proiect și a intrat în eforturile de servicii speciale și informații închise. Proiectele de implementare a ușilor au fost organizate pentru aproape toate arhitecturile EMM utilizate, iar unele dintre ele s-au dovedit a fi foarte reușite. Prăbușirea URSS a pus la sfârșitul acestei activități. Astăzi, iadul este folosit în Rusia și CSI de către entuziaștii individuali.

Ce este iadul

Toate limbile industriale moderne oferă în esență aceeași set de bază Oportunități, distingând de faptul că vă permit să faceți, dar exact cum îi permit să facă acest lucru. Cu toate acestea, iadul, cel puțin în două aspecte, extinde standardul pentru limbile moderne un set de caracteristici. În primul rând, Iadul oferă mijloace de nivel înalt de programare a proceselor asincrone. În al doilea rând, este singura limbă care poate fi numită modular fără rezerve.

Un exemplu este doar necesar pentru a respinge un mitiu destul de comun, iar iadul este un limbaj mare, complex și "greu", potrivit numai pentru scrierea sistemelor super-ridicate și ultra-dimensiuni. De fapt, iadul poate fi folosit pentru a dezvolta programe mici și mijlocii cu același succes ca și clonele moderne C, Pascal, Beysika și Java. Deci, exemplul clasic al programului "Bună ziua, Lumea!" Se pare că ADE după cum urmează:

Este ușor să vedem că codul din iad este similar cu codul de pe Pascal, care a fost ales ca prototip. Prima linie descrie conexiunea acestui modul compilat cu alte module - Se indică faptul că subrutina Hello_World trebuie să fie compilată împreună cu modulul Ada.Text_io, care este o componentă a unei biblioteci predefinite.

Următorul program definește două procese asincrone:

În secțiunea Anunțuri locale, procedura Tasking_Example descrie sarcina de outputter (linia 6, rândurile de la 8 la 17 conțin corpul acestei sarcini). Atunci când controlați în procesul corespunzător procedurii de tasking_example, vine vorba de linia 20, înainte de a efectua această primă declarație, procesul corespunzător sarcinii de outputter este pornit, după care trăiesc două procese și au fost efectuate asincron independent unul de celălalt. Execuția operatorului de întârziere (rândurile 14 și 20) constă în suspendarea procesului corespunzător la numărul specificat de secunde. Astfel, procesul Tasking_Example este întrerupt timp de 20 de secunde și, în acest moment, procesul de depășire începe să se imprimă valorile creșterii contorului pe unitate, suspendând o secundă după ieșirea fiecărei valori. După 20 de secunde, procesul Tasking_Example stabilește steagul finit către steagul "Adevăr", ciclul din procesul de depășire este finalizat. Specificația variabilei finite ca obiect de date atomice (string 4) face imposibilă citirea și modificarea simultană a valorii acestei variabile.

Următorul este un șablon de funcții care vă permite să păstrați două matrice unic dimensionale. Acest șablon poate fi configurat la un tip arbitrar, care este o matrice unidimensională, pentru componentele cărora se determină cesiunea și operațiile de adiție ("adăugarea" nu este necesară pentru a fi aditivă aritmetică).

Rândurile 1-6 conțin o funcție setată de anunțuri, iar șirurile 8-20 sunt corpul său. Conținut, parametrul de setare este un tip regulat arbitrar unicimensional, cu o gamă de index nespecificată (string 4), care este cunoscută doar că tipul de component este arbitrar, cu toate acestea, operația de atribuire este definită pentru componente (linia 2), Tipul de index este un discret arbitrar (șir 4). Din moment ce trebuie să fim inoperant să fugim două matrice, trebuie să știți care este operațiunea de adăugare pentru tipul de componente. Deoarece acesta este un tip arbitrar, suntem forțați să transmitem adăugarea pentru tipul de component ca parametru de setare formală (linia 5).

În corpul funcției, verificăm mai întâi dacă lungimile operanților sunt coincis (linia 12), altfel nu are sens să compliceze în alt mod adăugarea. Prin urmare, coincidența lungimilor operandului nu garantează coincidența intervalelor indexului, prin urmare, în buclă la intervalul index al primului argument (linia 15), trebuie să calculam indicele componentei corespunzătoare a celui de-al doilea argument. Suntem lipsiți de ocazia de a face acest lucru pentru tipul de index, după cum știm despre el numai că este discret, astfel încât să se deplaseze de la valoarea de tip discret la numărul de secvență (atribut? POS), calculați schimbarea necesară pentru secvență Numărul și reveniți la valoarea corespunzătoare a tipului de index (atributul? val).

Rețineți că parametrii (personalizabili) Funcția "+" Stânga și dreapta sunt declarate ca având un tip ARR, dintre ele nu este specificată. Cu toate acestea, stânga și dreapta sunt parametrii formali, în locul căruia, atunci când apelați (rezultatul concretizării), funcția "+" va fi substituită cu matrice specifice cu benzi index cunoscute. Suntem în corpul funcției "+" folosind atributele de matrice (? Interval ,? mai întâi, de lungime) pentru a obține informații despre gama de index din obiect.

De ce iad?

Alegerea limbii pentru proiectul Program a fost anterior o problemă pur tehnică. Astăzi a devenit o chestiune de importanță strategică care are consecințe importante pentru succesul proiectului. Să enumerăm câteva dintre motivele pentru care Iadul a fost ales pentru a implementa proiecte de program de către diverse companii sau este obligatoriu pentru utilizare în oferte.

  • Dorința de a crește fiabilitatea sistemului este dezvoltată, deoarece defectele software pot avea consecințe grave pentru sănătatea oamenilor, economiei, ecologiei etc. (ADA are facilități de asigurare încorporate).
  • Dorința de a reduce costul dezvoltării și menținerii sistemului.
  • Prezența standardelor internaționale și prezența compilatoarelor lingvistice este aproape pentru orice platformă.
  • Avantajele unei abordări disciplinate a dezvoltării software, care devin deosebit de semnificative ca volumul și complexitatea software-ului crește.
Iad și S.

Când efectuați analize comparative ale limbilor populare, există atât de multe copii care astăzi acest subiect este adesea referit la categoria "războaie religioase". Prin urmare, ne limităm la trimiterea la un articol binecunoscut în care se fac o serie de concluzii elocvente.

  1. Dezvoltarea programelor în limba iadului costă 60% mai ieftin decât proiectele software similare implementate pe C.
  2. Programul în limba de anunț are de 9 ori mai mici defecte decât programul de la C; Programul de pe C ++ are și mai mic decât programul C, caracteristicile.
  3. este preferabil să SCH atât pentru programatori experimentați, cât și pentru cei neexperimentați, precum și pentru programatori care au atât ratingul maxim și minim în grupul lor.
  4. Complexitatea studierii limbii iadului nu este mai mare decât complexitatea studiului C.
  5. Programele de pe ADE sunt mai fiabile decât programele SI.

Ca o ilustrare a acestor concluzii, oferim un exemplu de dezvoltare a software-ului de la bord pentru aeronavele C-130J, în conformitate cu cerințele nivelului A al standardului DO-178B. În același timp, a fost menționată calitatea codului, de 10 ori media pentru nivelul software-ului A. Productivitatea muncii a crescut patru dintre toate cele relativ la proiecte software comparabile.

Iad și java.

Microsoft a fost forțat să includă acorduri licențiate Pentru sistemele sale de operare, următorul paragraf ( www.microsoft.com/msdownload/ieclatform/ie/ licență.txt.): "Notă privind suportul limba Java.... Tehnologia Java nu este rezistentă la eșecuri și nu este destinată ... pentru utilizare în cadrul sistemelor de gestionare în timp real ..., în care eșecul lingvistic Java poate implica moartea, rănirea sau infrastructura severă sau de mediu deteriora. Sun Microsystems, Inc. Am comandat compania Microsoft să pună acest avertisment. "

De asemenea, indicăm articole și demonstrând beneficiile limbii iadului peste Java.

Miturile "Hellish"

Destul de des, un set de concepții greșite sustenabile care împiedică atât diseminarea limbii, cât și alegerea conștientă a doctrinei ca limbă de implementare a proiectului sunt asociate cu ADO.

Iadul este o limbă moartă, nimeni nu-i programe acum. De fapt, iadul are în mod încrezător o nișă de sisteme încorporate mari, cu cerințe sporite de fiabilitate. Comparativ cu produsele "Box Centres" pentru Windows, astfel de sisteme nu sunt la fel de vizibile, deoarece există într-o singură instanță (care este punctul de replicare a programului care controlează mișcarea trenului metroului) sau distribuită ca parte a sistemului la care sunt construite -În software-ul lateral).

Ada este o limbă concepută exclusiv pentru aplicațiile militare. Iadul a fost într-adevăr dezvoltat cu participarea Departamentului de Apărare al SUA, dar nu există motive tehnice, administrative sau de alte motive care să împiedice utilizarea anunțurilor pentru dezvoltarea sistemelor civile. Numărul de proiecte "civile" bazate pe această limbă este comparabil astăzi cu numărul de proiecte "militare".

Iadul este prea mare și complex, pentru ao folosi într-un proiect mic. Volumul și complexitatea tuturor limbilorilor industriale moderne sunt aproape la fel și pentru a vă asigura că este suficient să comparați pur și simplu volumul descrierilor lor. Acest mit se întoarce la începutul anilor '80, când naiba a fost comparată cu Pascal, Fortran 77 sau Baisik.

Programatorii care știu iad, puțin, învățând o limbă de la zero, necesită eforturi excesive și timp. De fapt, dificultatea reală reprezintă găsirea de specialiști care înțeleg specificul sistemelor încorporate și capabile să creeze programe de înaltă calitate pentru ei. Deci, de exemplu, compania Bae, una din utilizatori activi Limba iadului nu necesită cunoașterea acestei limbi de la candidați; În schimb, oamenii familiarizați cu sistemele încorporate și prelucrarea software-ului de calitate industrială sunt căutate. După angajarea unor astfel de oameni aveți nevoie doar de două săptămâni pentru a-și învăța limba de iad.

Experiența noastră personală arată că programatorii familiarizați cu unul sau alt tip de Pascal sunt obligați doar câteva zile pentru a începe dezvoltarea de programe necomplicate pe ADE.

Tehnologiile ad-existente sunt ineficiente; și traducătorii, iar codul generat de acestea, diferă în performanța scăzută. Acest mit se datorează, de asemenea, în prima jumătate a anilor '80, când au apărut primele implementări ale ușilor, de fapt, dovedit doar "teorema existenței unui ad-traducător corespunzător standardului". Este suficient să efectuați o serie de experimente simple, programate o anumită sarcină de model pe ADE, Pascal și Si / C ++ și compararea (cu parametrii compilatoare comparabili), apoi viteza de compilare, cantitatea de cod generat și viteza de viteză Execuția sa pentru a vă asigura că orice ineficiență specifică inerentă în iad, pur și simplu nu există. Se poate observa, de asemenea, că sistemul de programare GNAT cu volumul textelor sursă este mai mare de 40 MB, 90% este implementat pe ADE și construirea acesteia din textele sursă (în cursul său se compilează de trei ori) la un modern PC-ul nu durează mai mult de o jumătate de oră.

Implementările existente sunt extrem de costisitoare. Acest lucru este adevărat, dar ar trebui să se țină cont de faptul că există o versiune publică disponibilă a sistemului de programare GNAT, care este liberă și pe motive legale complet pot fi luate de la Universitatea din New York Repository ( fTP://cs.nyu.edu/pub/gnat.) Împreună cu textele sursă

Brânză gratuită și cum să evitați mousetrap

Gnat (GNU ADA Translator) este o implementare multi-platformă a unui limbaj de anunțuri care există aproape pe toate platformele industriale moderne și generarea de coduri de susținere pentru arhitecturi populare încorporate. Gnat ( www.gnat.com.) Implementează integral standardul ADA, inclusiv bibliotecile care sunt clasificate ca opționale. În plus față de ad-traducătorul în sine, GNAT include setul de instrumente în care se dezvoltă mediul dezvoltator integrat și un depanator grafic multilingv, care permite, de a investiga comportamentul programelor cu procese asincrone. Traducătorul și uneltele conexe pot fi utilizate ca fiind separat, determinându-le linie de comandași în cadrul mediului grafic integrat pentru dezvoltarea programelor AD. Toate componentele Gnat, inclusiv mediul de dezvoltare, au aceeași interfață pe toate platformele. În plus față de implementarea completă a GNAT descrisă, GNAT oferă un set bogat de extensie permis. Gnat este implementarea medicilor din sistemul de programare multilingvă CMC constând dintr-un set de compilatoare de plante pentru diferite limbi de intrări cu un generator de coduri generale, care simplifică în mod semnificativ dezvoltarea de programe care conțin componente implementate în diverse limbi de programare.

Gnat a fost dezvoltat și distribuit sub licența GPL. Din păcate, masa miturilor este, de asemenea, asociată cu GPL. Deci, mulți cred că programele de la GPL sunt dezvoltate de grupuri anorganizate de entuziaști, absolut gratuit; Ca urmare, fiabilitatea și funcționalitatea unor astfel de programe lasă mult de dorit, nu le permiteți să le utilizeze în orice proiecte grave. În cazul lui Gnat, acest lucru nu este așa. Pentru a vă asigura că este suficient să vedeți lista companiilor care au încheiat contractele pentru dezvoltatorii săi suport tehnic: Boeing, aerospațial britanic, Lockheed, Ericsson, Saab, avionic etc.

Furnizarea gratuită de versiuni demonstrative este practica obișnuită a multor dezvoltatori de software. Gnat este caracterizat de faptul că versiunea publică este în acces liber este absolut versiune completă. Tehnologii, fără restricții juridice sau tehnice privind utilizarea acestuia. O serie de proiecte grave au fost implementate cu succes precis pe baza versiunilor publice Gnat. Beagle 2-europeni automate Marte Express Automat Station Marte Express este trimis în prezent la Marte ( www.beagle2.com/index.htm.), stația documentară automată a Ministerului Apărării al Federației Ruse ( www.ada-ru.org/prj_doc.html.). Singurul dezavantaj al versiunilor publice este că dezvoltatorul nu oferă sprijin tehnic pentru ei.

Concluzie

Rezumarea, se poate spune că limba iadului oferă dezvoltatorilor combinația perfectă de integritate, secvență, fiabilitate și eficiență. Limba menține creativitatea creativă și inovarea, oferind în același timp disciplină și nivel industrial de dezvoltare software necesară pentru implementare sisteme de software mare importanță.

Literatură
  1. Benjamin Brosgol, Introducere în ADA 95. www.embedded.com/story/oeg20021211s0034.
  2. Stephen Zeigler, comparând costurile de dezvoltare ale C și ADA. www.adaic.com/whyada/ada-vs-c/cada_art.html www.ada-ru.org.. Bibliografia adnotată a cărților în limba iadului, publicată în limba rusă, poate fi găsită pe site

Limba lui iad este mai mult sau mai puțin întotdeauna pe audiere. Pe banca școlii am râs de numele său, în programul universitar, a fost menționat uscat ca o limbă dezvoltată la cererea Departamentului Apărării al SUA, dar numai programatorii rari au ajuns direct la sintaxă sau aplicație. De aici a existat o opinie eronată că limbajul ADA funcționează numai pe echipamentul trecut, iar nevoia de a dispărea împreună cu upgrade-uri naturale.

Și este foarte departe de adevăr.

Aspect

În anii '70 ai secolului al XX-lea, în mijlocul războiului rece, Departamentul de Apărare al SUA a aranjat o competiție internațională, pe baza rezultatelor cărora a fost necesară alegerea unui limbaj de programare pentru uz militar. Cu toate acestea, niciuna dintre limbile existente a aranjat membrii Comisiei, prin urmare, printr-o alegere lungă și mai multe îmbunătățiri ale luminii, a apărut limba iadului, numită astfel în onoarea adu Lavleis. Apoi, un magician pe termen lung cu standardizare, înregistrare comercială, interdicții pentru traducători personalizați și alte acțiuni care au bătut dorința publicului de masă pentru a lucra cu iadul.

La ieșire, a fost dovedită o limbă destul de nișă, destinată unor sisteme complexe de calcul cu cerințe de siguranță sporite. Din nou, datorită cerințelor Pentagonului și a standardelor stricte, interacțiunea cu alte limbi de programare este extrem de dificilă, deci până de curând, pentru a trece la piața de masă a iadului aproape că nu a existat practic nici o șansă. Dar, cu ieftinirea tehnologiei și complicația tehnologiilor utilizate, apare o astfel de șansă.

Sintaxă

Inițial, ADA este un limbaj de programare modulară, cu o scriere strictă a sintaxei moștenite din Pascal și Algol. Dacă ați învățat primul la școală sau institut, uitați-vă la "Bună ziua, lumea!" Trebuie să experimenteze nostalgia:

cu ada.text_io;

Procedura Hello este.
Utilizați Ada.text_io;
Începe.
Put_line ("salut, lume!");
Sfârșitul Hello;

Una dintre cerințele principale pentru limba a fost fiabilitatea utilizării sale. În consecință, aceasta a implicat restricții stricte asupra structurii, a tipurilor, a scrisului și a multor. În plus, aproape toate erorile de aici sunt urmărite la etapa de compilare.

O altă cerință a fost lizibilitatea maximă a codului în formă tipărită, care a dus la înălțimea limbajului rezultat și flexibilitatea scăzută.

Standardele ulterioare au rezolvat parțial aceste probleme, dar din motive evidente, ei nu au făcut al doilea python din iad.

Iadul astăzi

Contrar opiniei publicului larg, limba iadului este încă folosită în mod activ, nu numai în Statele Unite și nu numai în industria militară. Deci, de exemplu, parte peste avionul amfibian BERIV BE-200 este scris doar pe iad. Trenurile de metrou fără un șofer care rulează în multe orașe importante (Paris, Londra, New York, etc.), echipamente cu limbaj militar american, de asemenea, utilizați echipamente.

Și da, desigur, printre "clienții", a fost aviație militară și civilă (în special Boeing 777), rachete, transferuri, sateliți - în general, aproape întreaga listă de produse americane infinit de scumpe care implică cel mai înalt grad de securitate.

Perspective

Limba adezivă a fost criticată la momentul apariției și când a devenit clar că planurile grandioase ale Grandeei nu se potrivesc cu realitatea și chiar mai mult acum. Motivul pentru aceasta este un limbaj incomod, complexitatea standardelor scrise în 1983 și 1995, precum și de scurtă durată a dezvoltatorilor care au privat limba iadului publicului.

Cu toate acestea, aproape 40 de ani de utilizare activă confirmă faptul că, probabil, cu sarcina sa principală, Limba adezivă a fost dependentă - este încă posibilă crearea unui cod fiabil pentru sistemele cu cerințe de securitate sporite. În același timp, dacă vă uitați la tendințele moderne, numărul de astfel de produse crește în mod constant: mașini cu autopilot și motoare hibride, nave spațiale private și aeronave mici, trenuri de mare viteză, precum și un număr mare de sisteme încorporate. Toate acestea reprezintă un câmp potențial pentru activitatea iadului. Adăugați aici faptul că standardul a fost redactat în mod serios și modernizat în 2012, instrumentele de lucru ies și actualizate și actualizate.

Astfel, iadul este un fragment de la cel mai plăcut trecut și unul dintre instrumentele pentru construirea unui viitor luminos. Și cu siguranță nu se va pensiona.

Caracteristicile limbajului

"Salut Lume!" pe naiba

Câteva variante diferite ale programului "Bună ziua, Lumea!" Puteți vedea în co-cartea Viki (engleză). Diferențele se datorează necesității de a utiliza funcția Biblioteca Put_line - există trei limbi în această limbă. diverse metode Organizații de astfel de utilizare.

cu ada.text_io;

procedura Hello este.

Utilizați Ada.text_io;

Put_line ("salut, lume!");

sfârșitul Hello;

Aici, pentru a utiliza funcția Put_line, pachetul care conține pachetul său .Text_io este importat utilizând designul de utilizare, ceea ce face posibilă apelarea unei funcții după nume fără calificare - instrucțiuni în apelul unui nume de pachete care conține o funcție.

Istorie

Dezvoltarea limbii a fost efectuată în cadrul concursului internațional, organizat și finanțat de Departamentul de Apărare al SUA. Scena de dezvoltare a fost de a primi un limbaj de programare care ar putea fi unit pentru a dezvolta proiecte pentru comenzile departamentului militar, în principal pentru a dezvolta sisteme militare încorporate și Pentru computerele militare mari (pe baza procesorului IAPX 432 de la Intel). Lucrarea a început în 1975, cu formarea unui set de cerințe pentru limba, care să satisfacă pe deplin dezvoltatorii sistemelor de tipul specificat. Lista inițială a cerințelor emise sub denumirea de cod "Sollar" a fost supusă unui număr de organizații și firme, timp de doi ani specificați în mod consecvent, transformând în cele din urmă într-un document final numit "oțel".

După finalizarea formării cerințelor, a fost efectuată o analiză, care a arătat că niciuna dintre limbile de programare existente nu îndeplinește cerințele suficient, deci sa decis să se dezvolte o nouă limbă. Concurența pentru creația sa a fost anunțată în 1977, dezvoltatorii au fost propuși să se bazeze pe una din cele trei limbi: Pascal, Algol-68 sau PL / 1.

Din cele 15 proiecte prezentate pentru concurs, 4 au fost selectate (totul se bazează pe Pascal). Aceste proiecte au fost trimise la rafinament ulterior. În etapa următoare, dintre care două au fost selectate din 4 proiecte, dintre care, după o altă revizuire, unul a fost selectat. Această limbă a primit numele "Iadului" - care l-au dezvoltat sub conducerea francezului Jean Ishbia, a dat un nume de limbă în onoarea lui Ogastori, Regele Lavleis (fiica poetului J. Bairon), care este considerat primul programator din lume Pentru dezvoltarea programelor pentru mașina Babjja Computing.

Dyacstra într-unul din articolele sale sa îndoit că limba de o asemenea complexitate, cum ar fi iadul ar putea fi previzibilă și gestionează. El a observat: "Dacă ADA va da standardul, este de dorit să fie documentată fără ambiguitate. Cel puțin două grupuri au încercat să o facă; Ca rezultat, ambele au emis aproximativ 600 de pagini de text formal. Este mult mai mult decât este necesar să se asigure că imposibilitatea de a stabili cel puțin ferm că ambele documente determină aceeași limbă. Eroarea necontrolării evidente a acestor două documente constă în oricare două grupuri care le-au compilat, nici în formalismul adoptat de acestea, ci numai în limba: fără a asigura o definiție formală, dacă dezvoltatorii săi pot ascunde că ei oferă un un monstru neangajat. Faptul că ADA va reduce problemele de programare și va spori fiabilitatea evoluțiilor noastre la limitele acceptabile este doar unul dintre acele basme în care pot crede numai persoanele cu educație militară ".

Har, și-a exprimat regretul că "zgomotele și jafurile au predominat asupra cerințelor fundamentale ale fiabilității și securității" și avertizează de la "Armada Rockets, care nu zboară acolo din cauza greșelilor care nu au fost găsite în compilatorul de hazel". Niklaus Wirth a vorbit mai bine restrâns, dar și negativ. El a spus: "Prea multă dintre totul cade pe programator. Nu cred că, după ce am studiat o treime din anunțuri, puteți lucra în mod normal. Dacă nu stăpâniți toate detaliile limbii, puteți continua să vă împiedicați și acest lucru va duce la consecințe neplăcute ". Jean Ishbia, șeful Grupului de dezvoltatori ADA, exprimându-și "respectul și admirația" de la Wirth, nu a fost de acord cu el, spunând: "Wirth crede soluții simple Probleme complexe. Nu cred în astfel de miracole. Problemele complexe necesită soluții complexe. "

Cauzează îndoieli și proceduri de verificare a compilaterii compilatorului standard de limbă prin testare. Din considerente generale, este clar că testarea poate găsi o discrepanță, dar nu poate garanta corectitudinea. Confirmarea practică a acestui fapt este faptul că compilatoarele certificate, fiind testate pe un alt set de testare, a găsit o nerespectare a standardului.

Suporterii ușilor susțin că singura alternativă la un limbaj mare și complex în proiecte mari este utilizarea mai multor limbi compacte, care generează în mod inevitabil probleme cu compatibilitatea, pentru a scăpa de care a fost inventat de iad. Ei observă, de asemenea, că ideea complexității dezvoltării pe AD este adevărată numai în parte: scrierea unui program simplu pe ADE necesită într-adevăr mai mult timp decât pe alte limbi mai puțin formale, de tip Si, dar depanarea și întreținerea programelor , în special mare și complex, este foarte simplificată. Potrivit lui Stephen Cerager de la Rational Software Corporation, dezvoltarea de software pe ADE costă 60% mai ieftin, iar programul dezvoltat are de 9 ori mai mici defecte decât atunci când se utilizează limba SI.

Distribuție, perspectivă

În practică, sa dovedit că iadul, luând o nișă destinată ei în evoluțiile militare și legate de sistemele încorporate și nu au ieșit din această nișă, nici în Occident, nici în URSS sau în post-sovietic spaţiu. Există multe motive pentru acest lucru. Non-adversarii limbii se bazează pe complexitatea și dezavantajele sale, susținătorii spun, în primul rând, în circumstanțele obiective ale apariției limbii și a părților negative ale procesului de implementare. Interesant, avizul lui S.I. Rybin, un cercetător senior al Universității de Stat din NIVZ Moscova, consultantul ADACORE UE, expert în limba Grupului de lucru ISO privind standardul de limbă. El crede că eșecurile Iadului sunt obligate în două motive principale:

  • În timpul designului limbajului Pentagon, acesta a presupus că tot ceea ce software nou va fi creat numai pe ADE. Din cauza acestui iad, a primit mijloace extrem de primitive de interacțiune cu programele în alte limbi. În practică, sa dovedit că totul a fost scris în iad în general - ireal (cel puțin pentru că a fost nevoie să interacționeze cu evoluțiile gata făcute în alte limbi). Prin urmare, în industriile în care nu a existat o cerință dificilă de a scrie alte limbi, mai adaptate mediului multilingv. În 1995, a fost rezolvată problema interacțiunii cu alte limbi, dar timpul sa dovedit a fi ratat.
  • Paradoxal, distribuția anunțurilor a împiedicat sprijinul financiar și organizațional pentru Pentagon. Programele de pe ADE scrise pentru armata au lucrat la cele mai puternice tehnologie de calculCeea ce a fost disponibil, astfel încât dezvoltatorii compilatoarelor au avut grijă de primele despre trecerea testelor ACVC și numai atunci pe eficiența compilatorului și a codului creat de acestea. La începutul anilor 1980, a început boom-ul microcomputerelor, iar traducătorii pentru limbi comune (Pascal, C, Baysik) au fost optimizate cu promptitudine pentru sistemele cu putere redusă. Pentru stimularea anunțurilor într-o asemenea modernizare, nu a fost, ca rezultat, în câțiva ani, masa principală a parcului global de computere, computerele personale s-au dovedit a fi fără traducător adeziv de înaltă calitate. Bineînțeles, Iadul a pierdut acest segment de piață. Numai un relativ recent a apărut compilatorul Gnat, de înaltă calitate și productiv, dar și timpul a fost ratat aici.

În prezent, iadul suficient de stabilit suficient în dezvoltarea unor sisteme mari încorporate de fiabilitate ridicată, aici nu are aproape nici un concurent puternic. Aplicarea limbii crește treptat, deși destul de lentă. Potrivit unor previziuni prudente, cu reducerea echipamentelor și distribuția sistemelor încorporate cu o piață dificilă de programe pe AD, ar putea crește considerabil, să crească și să utilizeze limba.

În plus, iadul are, deși foarte limitat, utilizați în domeniul învățământului superior. În Universitatea de Stat din Moscova și Universitatea Kharkov citesc cursuri speciale în naibii. Cu toate acestea, potrivit aceluiași S. I. Rybina,

... Acum, în spațiul post-sovietic din domeniul industriei de software și formarea a existat un cerc vicios evident: în industrie practic nu știu despre iad, respectiv, din partea industriei nu există nicio cerere de Educația pentru pregătirea specialiștilor de anunțuri și oameni noi provin din universități la industrie, care practic nu știu nimic despre iad.

Sisteme de operare scrise în iad

Sisteme încorporate

  • RTME - OS Open Source, Darpa SUA a fost dezvoltată de DARPA
  • Ravenskar.
  • RTOS -32 - OS Proprietar

Sisteme de dezvoltare

  • Auroraux (OpenSolaris Kernel Rewriting Project privind limba Hell)
  • Lovelace (sistem de operare pe kernel)

Nu mai există sisteme existente

  • Biin ™.
  • Pulse ™.
  • ADAOS.

AD compilați

NumeCompanieVersiuneSistem de operareWebsite
Adamagic.SofCheck.HELL 95. ? www.sofcheck.com.
Adaumulti.Green Hills software.Iadul 83, ADA 95,