-
X-Received: by 2002:ae9:f011:: with SMTP id l17mr8282233qkg.137.1567777356484; Fri,
06 Sep 2019 06:42:36 -0700 (PDT)
X-Received: by 2002:ae9:f011:: with SMTP id l17mr8282233qkg.137.1567777356484; Fri,
06 Sep 2019 06:42:36 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!
peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer
02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o24no5140467qtl.0!n
ews-out.google.com!d29ni869qtg.1!nntp.google.com!o24no5140460qtl.0!postnews.goo
gle.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 6 Sep 2019 06:42:36 -0700 (PDT)
In-Reply-To: <0...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.80;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.84.80
References: <1ua4wui506zbf$.dlg@tyczka.com> <qkecqc$c03$1@news.icm.edu.pl>
<3...@g...com>
<qkicu0$knb$1@gioia.aioe.org>
<4...@g...com>
<qkjqqi$1b59$1@gioia.aioe.org>
<0...@g...com>
<r...@t...com>
<e...@g...com>
<1...@g...com>
<1...@g...com>
<a...@g...com>
<qkoqr3$1eec$1@gioia.aioe.org>
<a...@g...com>
<8...@n...net>
<1...@g...com>
<qksqus$1h0q$1@gioia.aioe.org>
<3...@g...com>
<5d7219bc$0$6446$426a74cc@news.free.fr>
<0...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8...@g...com>
Subject: Re: Jak to robią w NASA
From: Maciej Sobczak <s...@g...com>
Injection-Date: Fri, 06 Sep 2019 13:42:36 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 6444
X-Received-Body-CRC: 2842083155
Xref: news-archive.icm.edu.pl pl.comp.programming:213955
[ ukryj 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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)
- 2025-01-18 znowu kradno i sie nie dzielo
- 2025-01-18 Zieloni oszuchiści
- 2025-01-18 Zielonka => Specjalista ds. public relations <=
- 2025-01-18 Warszawa => Frontend Developer (JS, React) <=
- 2025-01-18 Warszawa => Software .Net Developer <=
- 2025-01-18 Warszawa => Developer .NET (mid) <=
- 2025-01-18 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]