Ce limbaj de programare este scris în NASA

Majoritatea oamenilor folosesc C, mai puțini oameni scriu în C ++ și foarte puțini în Java. Absolută minoritate utilizează ADA, Fortran și Lisp. Există câteva proiecte în care Python este utilizat: parțial în calcule matematice, în care parametrii zborului sunt luați în considerare neglijabil. Assembler este folosit atunci când vine vorba de nevoia de optimizare sau de șofer. Pentru simulare, cel puțin în LPJ, majoritatea sprijinului MatLab, dar sunt cei care folosesc Mathematica la (bănuiesc că cineva folosește chiar Maple, dar eu personal fac acești oameni nu au văzut încă). În general, în orice proiect, chiar de dimensiuni medii nu folosesc limbaje de scripting, și chiar mai mult, Python, Ruby, Perl, etc, pentru că aceste proiecte trebuie să îndeplinească anumite cerințe.







Angajamentul față de C nu este lipsit de sens. Toate proiectele majore ale organizației neapărat scrise în C. De exemplu, codul pentru robotii este scris în C, cu singura excepție a Gestalt, software-ul pentru navigare vizuală, scrisă în C ++. Desigur, dezvoltarea de software în altă limbă nu este, de asemenea, lipsită de sens, dar acest cod ar trebui să fie ușor de portat la limba principală. De asemenea, conține drivere pentru toate echipamentele comerciale. Din moment ce este rapid, există multe biblioteci de calitate pentru aceasta, vă permite să scrieți la un nivel foarte scăzut, "mai aproape de fier", ceea ce este foarte util. Marele avantaj este faptul că există multe compilatoare care aderă la standard C. De exemplu, dacă utilizați, GCC, apoi prin reguli de generare de cod severitate, puteți fi siguri că programul va rula la fel pe marea majoritate a mașinilor. Este imposibil să spunem același lucru despre alte limbi. În special, nu voi argumenta că un număr mic de compilatoare C ++ acceptă standardul de limbă, dar cu câțiva ani în urmă a fost exact așa.







În opinia mea umila, oameni noi ar trebui să opteze pentru un C ++, numai în cazul în care sunt dispuși să accepte anumite restricții, iar în acest caz, este logic să se uite în continuare la C, dintr-o perspectivă diferită. Majoritatea codurilor C ++ sunt limitate și de resurse: este extrem de important să se economisească energie și memorie, atât operaționale, cât și pe termen lung, în proiectele de zbor spațial. S-au dus zilele în care compania militară și aerospațială deținute de lider producția de chips-uri și alte componente hardware, iar acum au fost înlocuite de către producătorii civili de bunuri de larg consum. Desigur, ele sunt minunate pentru echipamentele personale, dar este vorba de a lucra în spațiu deschis, trebuie să utilizeze materiale protejate împotriva radiațiilor. Ca rezultat, managerii trebuie să aleagă echipamente care sunt mult inferioare echipamentelor PC-urilor utilizatorilor obișnuiți. Deci, de exemplu, MER au jetoane cu o frecvență de 20 MHz și DRAM în 128 MB. Laptopul meu, care are deja patru ani, este de 100 de ori mai rapid (2.4GHz) și are de 32 de ori mai multă memorie (4GB). Și pentru a compara volumul HDD-ului meu la 1 TB cu volumul furnizat echipamentului spațial nu trebuie să fie. Deci, cred că înțelegeți de ce alegerea este rareori făcută în favoarea C ++, codul generat pe care nu este cunoscut pentru dimensiunile sale mici. Și amintiți-vă de șabloanele bibliotecii standard, folosind în proces de lucru o cantitate imensă de resurse valoroase - RAM. În același timp, codul C este foarte concis.

În plus, C ++ are încă un dezavantaj: programele de pe acesta se pot comporta imprevizibil, codul în C ++ este dificil de întreținut. Puteți spune că utilizați numai funcțiile de bază ale limbii, și, prin urmare, nu merge cu adevărat dincolo de pur C. Dacă utilizați unele caracteristici suplimentare ale limbii, trebuie să caute oameni deosebiți care vor fi angajate în codul de depanare și echipamente de control, pentru care acest lucru Software-ul este scris.

Să ne uităm la un exemplu. Lăsați inginerul să se ocupe, de exemplu, de antene. Nu are nevoie să știe C ++: toată lucrarea lui este să facă antena să funcționeze fără eșec, rapid și eficient. Prin urmare, ca limbă pentru scrierea unui șofer, este mai probabil să alegeți C pur. Și codul scris de acesta poate fi ușor învățat de alți ingineri, care, de asemenea, nu are sens să creeze software în C ++. Și aceeași poveste se repetă în toate domeniile biroului: de la siguranța la foc până la compresia imaginii. Da, nu poate fi negat că C ++ este un limbaj minunat și nu este surprinzător faptul că este folosit pentru a crea aplicații destul de complexe, dar în proiectarea zborurilor nu poate constitui o competiție serioasă.







Articole similare

Trimiteți-le prietenilor: