-
Data: 2019-09-06 15:42:36
Temat: Re: Jak to robią w NASA
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Wątek zaczął się od NASA, więc będę się trzymał tematu i zakładam, że chodzi o
naprawdę krytyczny soft a nie np. o przeglądarkę internetową, której "bezpieczeństwo"
ma inny wymiar.
> I, rzecz jasna, jaka jest
> alternatywa dla C++, bo jak C++ ma wady, a nie ma nic wyraźnie lepszego,
> to żadne argumenty mnie nie przekonają.
Otóż C++ ma prawie same wady (jest bardzo błędogenny) i prawie wszystkie odziedziczył
po C, ale *nie ma* nic wyraźnie lepszego.
Jest cała masa języków obiektywnie lepszych z punktu widzenia projektowania języków,
ale albo w ogóle nie mają szans w branży krytycznej z racji polegania na
nieweryfikowalnym run-time, albo nie wpływają na wysiłek weryfikacyjny, czyli na
ostateczny koszt projektu. Tzn. co z tego, że Ada jest lepsza od C, skoro klepanie
kodu to kilka procent wysiłku a pozostałe >90% to tyle samo roboczogodzin, bo one
wynikają z procesów a nie z wyboru takiego czy innego języka.
Przykładowo, co z tego, że Ada jest lepsza, skoro nie redukuje wysiłku potrzebnego na
uzyskanie 100% pokrycia testami. Testów do napisania będzie dokładnie tyle samo, co
do sztuki. Dlatego użycie Ady nic nie wnosi. To są tego typu argumenty.
> Warto zobaczyć ile błędów było w różnych kompilatorach w różnych językach.
To akurat nie ma znaczenia. Kompilator może sobie mieć bugi, bo i tak weryfikuje się
kod wykonywalny. Dlatego też jest mitem, że w branży krytycznej potrzebne są jakieś
"certyfikowane" kompilatory. Otóż nie są (niespodzianka!).
> Potem koszty, ciekawe ile kosztuje dobry programista w niszowym-dedykowanym
> języku?
To kolejny mit. Wszyscy programiści kosztują z grubsza tyle samo, bo ich koszt i tak
już dawno nie zależy od ich kompetencji. Albo wręcz dochodzi do takich lokalnych
anomalii rynkowych, że np. JavaScript kosztuje więcej, niż C++.
Większym problemem jest to, że programistów niszowych języków po prostu nie ma a nie
to, ile kosztują.
> Może dwóch programistów w C++ napisze bezpieczniejszy kod, niż
> jeden (za te same pieniądze) w niszowym-dedykowanym języku?
Nie. W obu przypadkach muszą napisać tak samo bezpieczny.
> Potem mnogość bibliotek.
Nie używa się bibliotek. Szkoda na to nerwów, znacznie szybciej jest napisać i
zweryfikować coś od zera samemu.
(przypominam, że do tego miejsca wątek był o systemach krytycznych)
Te wszystkie rozważania wyglądają zupełnie inaczej w "normalnym" programowaniu, gdzie
*najistotniejszy* jest dostęp do bogatego ekosystemu gotowych rozwiązań - biblioteki,
frameworki, itd. Na tym polu, w embedded wygrywa C/C++ i w zasadzie z niczym nie
konkuruje, na serwerach C++ konkuruje z Javą, na desktopie C++ konkuruje z .NETem i
Javą, w przeglądarce króluje JavaScript a w zastosowaniach specjalistycznych i
okołonaukowych (wliczając w to jakiś data science, AI i takie tam) na przód wybiega
Python, który w jakimś stopniu jest też obecny wszędzie indziej jako scyzoryk do
wszystkiego i niczego. Pozostałe języki to albo zamknięte technicznie i nieużyteczne
w inny sposób ekosystemy (SQL, MATLAB, itd.) albo po prostu domena hobbystów.
Szczerze - *wszystko* jest do bani. Ale podobnie jest we wszystkich innych
dziedzinach życia (muzyka, film, jedzenie, itd.), więc chyba tak po prostu mamy jako
cywilizacja.
I tak z grubsza to wygląda. Chyba że komuś wygląda inaczej, chętnie zobaczę.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 06.09.19 16:06 Mateusz Viste
- 06.09.19 17:06 AK
- 06.09.19 17:11 AK
- 06.09.19 18:22 M.M.
- 06.09.19 18:29 g...@g...com
- 06.09.19 19:14 g...@g...com
- 06.09.19 20:28 M.M.
- 06.09.19 21:03 Maciej Sobczak
- 06.09.19 21:12 Mateusz Viste
- 06.09.19 21:25 Maciej Sobczak
- 06.09.19 23:00 g...@g...com
- 06.09.19 23:59 g...@g...com
- 07.09.19 01:48 g...@g...com
- 07.09.19 10:55 M.M.
- 07.09.19 17:04 Maciej Sobczak
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław