-
Data: 2012-10-01 19:31:08
Temat: Re: Dlaczego software to F35 jest pisany w C++ a nie w Ada
Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Inwentaryzacja budynku
- 2025-06-26 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-06-26 Warszawa => Strategic Account Manager <=
- 2025-06-26 Warszawa => Specjalista rekrutacji IT <=
- 2025-06-26 Re: Zatonął kolejny statek wiozący 800 palnych elektryków
- 2025-06-26 Warszawa => C Programmer <=
- 2025-06-26 Karty mBąka.
- 2025-06-26 Traktorek do trawy na prund
- 2025-06-26 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-06-25 klawiatura podświetlana zasilana z sieci
- 2025-06-25 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-25 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-06-25 Warszawa => Leading SAP PP Consultant <=