versiune de tipărit
Pentru omul care caută să câștige în programarea industrială pentru a studia cauzele Ada este aproape plecat. Ada a devenit un produs de nișă, care nu este de gând să crească, și este aproape toate în afara spațiului rumynskogovoryaschego.
Deci, un programator din motive de practică pentru a învăța Ada nu este pur și simplu pentru că el nu poate găsi un loc de muncă ori de câte ori este util. Același lucru - la managerul de proiect, plus faptul o problema - el nu poate găsi interpreți inteligente. Circle, din păcate, închis. Cu toate acestea, Sergey Rybin, Ph.D., cercetator senior consultant SRCC MSU AdaCore UE, România a formulat 10 motive tehnice și ideologice și filosofice de ce ar fi necesar pentru a explora limba Ada.
Limba Ada - un fenomen unic în tehnologia informației
Este întotdeauna util să se cunoască și să înțeleagă istoria domeniul lor profesional. Ada în inginerie software - un fenomen unic. Este singura limbă pe care:
- Acesta a fost conceput ca o soluție la o problemă importantă, iar existența și specificitatea acestei probleme au fost investigate înainte;
- Acesta a fost dezvoltat în mod sistematic, începând cu elaborarea cerințelor tehnice detaliate pentru limba;
- Acesta a fost dezvoltat printr-o concurență internațională atentă și bine organizate;
- imediat a venit la lumină sub forma de American National Standard, care a fost aprobat rapid ca un standard ISO;
- Controale standard de conformație de punere în aplicare au fost gata mai devreme decât a fost prima punere în aplicare a noii limbi;
- Ca urmare, Ada nu a fost niciodată, și nu va fi niciodată, dialecte și versiuni, cuvântul „Ada“, în orice moment dat indică toate la fel - ceea ce este scris în standardul de limbă, și fiecare compilator puse în aplicare (până la bug-uri ) este;
- Evoluția limbajului se face prin revizuirea standardul internațional, cu aproape 100% compatibilitate la sută (eficiența de conservare a codului existent);
Unele dintre aceste puncte sunt valabile și în alte limbi, dar toate împreună - doar pentru Ada.
De exemplu, Ada - singurul limbaj de programare care:
Limba Ada - este o filozofie și ideologie de programare
Ada limbaj de programare nu este atât de mult cât de mult filozofia și ideologia programului, piatra de temelie a ceea ce este preocuparea pentru fiabilitatea software-ului în toate etapele ciclului său de viață, inclusiv întreținerea și modificarea pe termen lung. Practica a demonstrat că această filozofie și ideologie se manifestă perfect în practică - timpul petrecut în depanator, programator, care lucrează în Ada, uneori mai mică decât pentru alte limbi.
Un element esențial al „filosofia Iadului“ este că, din punctul de vedere al Ada și Ada-programatori pentru a dezvolta un program - nu creează codul, și definirea unui set de nivel adecvat de abstractizare, care corespundea diferitelor componente și aspecte ale problemei, și apoi utilizați aceste abstracțiuni. Și limbajul Ada direcționează programator pentru a crea un abstractii fiabile și sigure, adică, cei care au exact acelea și numai la acele proprietăți care sunt cerute de acestea, și nu permit ele însele să fie utilizat un mod incorect. Ca urmare, cele mai multe probleme, care, în cazul altor limbi sunt identificate ca urmare a unor ore dureroase sau chiar zile în debugger, în cazul Ada vor fi detectate rapid de compilator în primele etape ale codului.
Din punct de vedere tehnic, de la începuturile sale, precum și pentru toate revizuirile viitoare ale standardului Ada este o asociație unică într-o singură limbă de mijloace tehnice și posibilități, fiecare dintre ele în sine nu este unic.
Da, limbajul Ada a apărut la inițiativa Pentagonului pentru proiectele lor. Dar aceasta este - o poveste îndepărtată. Acum, nimeni nu forțează să folosească limbajul de programare Ada. Cu toate acestea, nu întâmplător faptul că multe dintre proiectele din zonele în care costul de eșec poate fi nu doar de mare, și este inacceptabil de mare, au ales și continuă să aleagă limba de programare Ada?
Ada, special ascuțit pentru dezvoltarea sistemelor integrate. Pe de o parte - încrucișate compilatoare, pe de altă parte - transferul maxim al întregii limba de greutate pe compilatorului și mașini-unelte, astfel încât obiectivul este îndeplinită este că nu ar trebui să fie efectuate.
Bunch Jovial-Ada, destul de utilizat în mod eficient în sisteme electronice de bord astăzi, în viitorul apropiat nu va avea un concurent clar în crearea de software pentru sisteme integrate la bordul unui profil militar. Mai ales după eșecul proiectului de aeronave F-35. Pariați pe limbajele de programare C și C ++ - greșelile fatale făcute la crearea avionului F-35.
În România, există suficientă experiență în utilizarea Ada, ia la dezvoltarea de software pentru Il-96-300 de aeronave, aeronave amfibie Be-200 believ si Space Station Alpha, automat stație de comunicație document al Ministerului Apărării din România. Firma romaneasca Avd Systems.
Firma romaneasca AVD Systems - este un furnizor de soluții din România și CSI pentru sistemele critice integrate de calcul, componente hardware și software, instrumente de dezvoltare astfel de firme ca: Esterel Technologies, Wind River, AdaCore. Produsele acestor firme au ales preocupare „Aeronave Engineering“.
Franța a folosește în mod tradițional, limbajul de programare Ada, deoarece robotice 14 linii de metrou din Paris - în trenurile de linie nu există nici un driver. industria auto franceză, în ultimii ani, este, de asemenea, se deplasează în mod activ pentru a proiecta sisteme cu generator de cod pentru limba Ada. Același lucru se întâmplă în Japonia. China a devenit, de asemenea intesivnost limbaj de programare pentru a afla Ada.
Aceasta este ceea ce a spus Vasile angajat KV.by Fofanov al firmei AdaCore:
“... Atâta timp cât vom vedea exact opusul, pe care vom merge la noul sector al industriei, pe care anterior nu au avut nici o lucrare, este pentru că ei încep să-și piardă controlul asupra complexității sistemelor lor, și ei doresc să învețe din aviație. Dispozitive medicale, automobile. Da automobile. Oamenii noștri nu ies din călătorii de afaceri japoneze, această țară este pe radarul nostru de acum cativa ani, nu a existat nici generală ... Ada și C ++ în întregime interschimbabile. Dar statisticile arată că proiectele în C ++ au probleme serioase cu asigurarea calității, și au un cost mai mare pentru fiecare linie de cod ciclului de viață.
Desigur. Comunicarea cu pierderile multe miliarde de dolari cele mai directe. Și, de asemenea, faptul că autoritățile de reglementare sunt, de asemenea, încep să se trezească și să se pregătească pentru a imprima în plus Avtosrtoiteley aceleași cerințe de certificare în domeniul aviației / Zheldor. Nu se poate face în cele vechi, respectiv, și de a studia în alte locuri, dar să fi fost în stare să facă acest domeniu - nicăieri. ... Ada compilator generează același cod de asamblare, precum și C. Nu este „ca“, dar la fel, până la alocarea registru. Și avem un compilator pentru dispozitivele de nivel tinyAVR, și altele asemenea. Nu există probleme, deoarece este clar că „dacă (a == b) ;.“ și „în cazul în care a = b atunci se încheie dacă ;.“ platforma țintă sunt afișate identic. În mod firesc, folosind runtime cu profil de zero, și, în consecință, o serie de caracteristici lingvistice care necesită asistență în timpul rulării, cu handicap sau cel puțin tăiate.
Veți găsi oportunități comparabile într-o implementare alternativă,
Toate limbile moderne de programare industriale oferă oportunități de o mai mult sau mai puțin comparabile, diferențele nu sunt atât de mult faptul că * * le permit să facă mult în modul * * acestea permit. Învață limba Ada, vei dobândi cunoștințe despre cum altfel pot fi organizate de către sistemul de tip, modularitate, compilarea separată, deoarece acestea pot fi puse în aplicare în paradigma OOP în comparație cu acele limbi pe care le cunoașteți.
Deci, de exemplu, de Ada oferă un complet de caracteristici OOP, dar în același timp, în limba nu este emis sintactic concepte de clasă, tradițional PLO. Ada arată că exploatarea virtuală complet opțională pentru polimorfismul dinamic, care este suficient pentru programarea, care se pot dovedi mai eficiente. Etc. O astfel de cunoaștere (cum altfel se poate face este bine cunoscut pentru a-mi lucru?) Nu va fi niciodată peste.
Limba este de fapt nerușinare „fura“ idei de la unul pe altul. Acum este practic să nu mai vorbim, dar C ++ a scris pe una din clasele sale cu pachete Ada -83.
De fapt, punctul 4 - se află. Ada poate face totul, ei știu cum competitorii săi direcți (C ++, Java) - și mult mai utile și interesante, ceva concurenții săi nu poate, în principiu. În special:
- la nivel înalt controlează procesele asincrone (cum ar fi constructe de limbă și nu apeluri biblioteca!), cu posibilitatea de a alege comportamente de proces în funcție de situație;
- modularitate ierarhică, care permite minimizarea recompilarea și că este încă posibil să se dezvolte codul existent, fără a distruge abstractia protejate;
- Subtipuri de sistem și mecanismul asociat de excepții;
Puteți utiliza o varietate de inginerie software
Ada îl face ușor pentru a sublinia subseturi tehnologice, în funcție de sarcina la îndemână. De exemplu, nu aveți nevoie de OEP - și uitați-l! Și nu va costa nici un inconvenient suplimentar. În acest caz, puteți crea și utiliza în propria abstractizare în condiții de siguranță protejat de cod.
Este ușor de program în C ++ fără a utiliza clase?
Adavyrazhaet limba, ceea ce el crede programator
În ciuda faptului că Ada este capabil să semnificativ mai mult decât concurenții, limba în sine este aranjată o concurență mult mai simplă și mai ușor. Este suficient să se compare volumul standardelor Ada și C ++. Mai mult decât atât, descrierea Ada „închis“, în sensul că aceasta nu utilizează conceptele mitice, cum ar fi „spațiu de nume“ în C ++. Toate caracteristicile semantica limbii sunt descrise în ceea ce privește componenta structurală a codului, adică - sintaxa.
Toate programele Ada-mediu predefinite sunt, de asemenea, descrise în termeni de limbaj - ca un set de pachete de specificații scrise în Ada. Pentru Ada, răspunde la întrebarea „Ce este un Integer?“ - exact la fel ca și la întrebarea de orice alt tip, puteți arăta degetul locul unde Integer definit.
Și ceea ce este int în C ++?
Trebuie să învățăm cum să-și exprime ceea ce credem noi. Și limba Ada ne permite să-și exprime clar acest lucru, și prin aceea că, în cele din urmă, puterea lui.
În Ada - sintaxă simplă, clară, ușor de citit, care reduce în mod semnificativ situațiile de risc în care greșeală de scriere accidentală duce la faptul că codul nu devine greșit punct de vedere tehnic, dar își schimbă în mod semnificativ semantica sa.
Există o GPL-versiune a sistemului de programare GNAT
Tu nu va fi singur în procesul studierii yazykaAda
Conferința Internațională „Computer Simulare în High Tech“ VNKarazin bienal a avut loc la Universitatea Națională din Harkov. Pe secțiunile acestei conferințe este de a face un raport.
Ucraina, de asemenea, efectuate anual în limba engleză conferință internațională Systems, Servicii sigură Tehnologii (DESERT). În DESERT există o secțiune dedicată utilizării limbajului de programare Ada, și alte limbi pentru securitatea critică și fiabilitatea aplicațiilor Atelier de lucru pe Ada Technology și a diversității lingvistice (Adaland WS).
Companiile AdaCore UE / SUA pentru Liceele sprijină programul GAP (Programul Academic țânțarul. Încurajarea utilizării Ada în Academia). Există câteva forumuri se vorbește limba engleză.
participanți KV.by mulțumiri ADA-RU, care au participat activ la discutarea subiectelor de articol și a împărtășit experiența de aplicarea practică a limbii Ada.