-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Sebastian Biały <h...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Dlaczego software to F35 jest pisany w C++ a nie w Ada
Date: Mon, 01 Oct 2012 19:31:08 +0200
Organization: ATMAN - ATM S.A.
Lines: 89
Message-ID: <k4ck0u$n3d$1@node1.news.atman.pl>
References: <3...@g...com>
<3...@g...com>
<k3idkc$ne3$1@node2.news.atman.pl>
<9...@g...com>
<k3spfr$46s$1@node2.news.atman.pl>
<8...@g...com>
<k3vo9p$u74$1@node2.news.atman.pl>
<f...@g...com>
<k3vuc2$4cl$1@node2.news.atman.pl>
<a...@g...com>
<k420pf$sch$1@node2.news.atman.pl>
<d...@g...com>
<k44n4u$drv$1@node2.news.atman.pl>
<8...@g...com>
<k462an$knn$1@node2.news.atman.pl>
<9...@g...com>
NNTP-Posting-Host: 83.142.222.167
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1349112670 23661 83.142.222.167 (1 Oct 2012 17:31:10
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 1 Oct 2012 17:31:10 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.16)
Gecko/20101125 Thunderbird/3.0.11
In-Reply-To: <9...@g...com>
Xref: news-archive.icm.edu.pl pl.comp.programming:199724
[ ukryj nagłówki ]On 2012-09-30 23:52, Maciej Sobczak wrote:
>> I musze przyznać, że gdyby software ariane był
>> "wyżyłowany co do cykla" to programiści nie powinni się zajmowac więcej
>> programowaniem.
> Jakieś podstawy do tego swierdzenia?
Doświadczenie. W systemie który "akurat" zmieścił się w 64kB ROM albo
*akurat* zmieścił się w 100% czasu przerwania są jakieś kompromisy.
Najczęściej dotyczące bezpieczeństwa własnie ("a, nie sprawdzaj tego
indeksu, na pewno nie będzie > 10 a 7 cykli do przodu").
> Bo ja wiem, że systemy latające bywają specyfikowane blisko kreski.
Blisko kreski (a w zasadzie za) był np. Apollo z AGC. Tylko dzięki temu
że ktoś znał na pamięc cały kod dali radę.
> To jest kompromis pomiędzy tym, co ma być a tym, co jest dostępne
To jest prawda w projektach budżetowych typu chiński sterownik do pieca.
W projektach takich jak rocket-science nie ma racji bytu, zawsze możesz
wziąść wiekszy, wziąść dwa itd. Nie ma większego? To masz zły hardware.
> i w danych ograniczeniach możliwe do zrealizowania.
> Analizę WCET robi się z jakiegoś konkretnego powodu a nie dla zabawy.
"
- Proszę pana, proszę pana, bo mi się tu napisało 17us kodu, to co robimy?
- Rżniemy bezpieczeństwo, przecież analitycy wyliczyli że wejdzie do
16us a hardware gotowy i nie można zmieniać!
"
>> Jeśli więc wymagana jest szybkośc to musisz pozegnać bezpieczeństwo.
> Albo nie. Najgorzej, jeśli mamy złą specyfikację
> - wtedy możemy napisać system, o którym "wiemy"
>, że będzie działał dobrze i będzie też działał szybko
>, ale przez jego użycie niezgodnie z założeniami wychodzi dupa.
> Tak właśnie było z Ariane 5, bo użyto tam modułu z poprzedniego
> modelu, gdzie był zarówno bezpieczny jak i szybki.
> No, ale w nowym modelu był już tylko szybki.
Nie zgadzam się. Ten kawalek kodu nie miał prawa wejść w jakikolwiek
komputer sterujący rowerem bo jest niebezpieczny. Bajanie o tym że jakiś
tam parametr jakimś cudem mieścił się zazwyczaj w granicy jest
niebezpieczne i charakterystyczne dla "optymalizatorów w asm".
>>> Drugorzędny? Duperelek? I w czym ten duperelek jest napisany, co?
>> W czymś *prostym* co pozwoli na formalną weryfikacje.
> Np. w Adzie? Ten język powstał z myślą o ułatwieniu formalnej weryfikacji
>, chociażby przez minimalizację aliasingu, którego w C jest po sufit.
I ta formalna weryfikacja i jej myśl zmaterializowała się?
>>> Natomiast chamskie sztuczki w C++ *zawsze* są możliwe, bo do dyzpozycji
>>> są wskaźniki i reinterpret_cast (oraz memcpy, itd.).
>> Zupełnie jak w Adzie? Czekaj czekaj czy Ada jest nadzbiorem C++ w sensie
>> niskopoziomowego gówna? OMG!
> Nadzbiorem nie, bo się nie da.
> memcpy na dowolnych argumentach to już jest nadzbiór
>, bo każdy shit można tym zrealizować.
> W Adzie też to jest dostępne, ale trudno to nazwać nadzbiorem.
No patrz, Ada to taki jezyk z silnym typowaniem, super-wyjątkami,
genialną składnią i kupką szitu pozwalającą legalnie wszystko wsadzić
między bajki.
> Lepszość Ady polega na tym, że o ten shit trzeba prosić
>, natomiast w C trzeba prosić, żeby shitu nie było.
I teraz - tadaaaam - zmierzamy w kierunku oczywistym: bezpieczeństwo
kodu zależy nie od języka tylko od programisty. To zbiór czynników poza
językiem decyduje w najwiekszym stopniu o jakości kodu. Takie duperele
jak code review, formalna weryfikacja, analizy statyczne, dynamiczne,
testowanie, ... Ada akuratnie niewiele pomaga, nie na tyle żeby to
nazywać bezpiecznym kodem. Zapewne pierdyliard rzeczy poza Adą lepiej
weryfikuje kod niż język.
>>> W obu przypadkach ominięcie bezpiecznika można uznać za chamskie.
>> I możliwe. Game over.
> Ja też myślę, że powinniśmy zmierzać do końca tej dyskusji.
Ale nie, przecież trolowanie i flame na tym polegają że nie. Nie nie nie.
>> To oznacza że Ada pozwala na to samo co ASM.
> Tak. Ten język powstał również po to, żeby dało się w nim pisać systemy operacyjne.
A po co ? Nie można zrobić bezpiecznego języka do systemów nawigacji w
ktorym 2+2 nie musisz implementować na bitach i recznym testowaniem
overflow?
Następne wpisy z tego wątku
- 01.10.12 23:08 Maciej Sobczak
- 01.10.12 23:24 Sebastian Biały
- 01.10.12 23:29 Roman W
- 08.10.12 10:05 Marek Borowski
- 08.10.12 10:19 Edek Pienkowski
- 08.10.12 19:00 Baranosiu
- 08.10.12 19:31 Edek Pienkowski
- 08.10.12 23:48 Maciej Sobczak
- 09.10.12 01:21 Baranosiu
- 09.10.12 10:17 Maciej Sobczak
- 09.10.12 15:18 M.M.
- 09.10.12 17:11 Baranosiu
- 09.10.12 23:09 Maciej Sobczak
- 24.10.12 00:32 Marcin Kowalczyk
- 24.10.12 09:59 Maciej Sobczak
Najnowsze wątki z tej grupy
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- 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
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?