-
Data: 2019-05-10 21:00:09
Temat: Re: Ada Tutorial - w Instytucie Lotnictwa
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 10/05/2019 08:21, Maciej Sobczak wrote:
> A co jest złego w MISRA-C++?
Nikt go nie używa. Zacytuje jednego z developerów MICRA-C: "Znowu te
pedały coś wymyśliły". Po prostu jest niekoszerny. Najbardziej widać to
w automatyce przemysłowej i kontrolerach. Mimo że nawet 8-bitowy
procesor skorzystał by z kodu pisanego w C++ to typowy developer uC
nawet go kijem nie ruszy bo jednak nic lepszego niż void* nie wymyślono.
>>> A ponieważ zakładamy, że programista spieprzy wszystko co może, to wybór języka
jest ważny. Żeby mógł spieprzyć jak najmniej.
>> A mimo to spieprzył.
> Może spieprzył mniej? Może gdyby spieprzył więcej, to rakietę by szlag trafił
jeszcze przed startem?
Może. Problem w tym że to nie ma znaczenia. Ktoś napisał w języku z
silnym typowaniem i fikuśnymi wyjątkami kod w asemblerze który przedarł
się przez code review, weryfikację i był sterowany przez księgowych.
Zaznaczam że gdyby ktokolwiek obecnie zapytał mnie jak to zrobic to w
przypływie mojej ignorancji napisałbym klasę do obsługi arytmetyki z
saturacją, być może z możliwością wymiany jej na bezpośrednie wsparcie
hardware co przecież dziwne nie jest.
Tutaj nadziubdziali żałosny asm.
Albo core review składał się z takich samych hackerów jak ten miszczu
albo też code review nie było i cała ta Ada to pic na wodę. I nie
mówiłbym tego gdyby nie to że przez te ostatnie naście lat widziałem
troszkę kodu "bezpiecznego" i funta kłaków bym za wiele kawałków nie
dał, to po prostu dobrze udokumentowane i przetestowane g...
>> Ariane zdetonowała z powodu używania bezpiecznego
>> języka w niebezpieczny sposób.
> Są też systemy pisane w niebezpiecznych językach w niebezpieczny sposób.
Tak. Na przykład Verilog. Język z wbudowaną wadą projektową i
najbardziej rozbudowanym systemem weryfikacji do zastosowań krytycznych.
Dzień jak codzień w IT.
>> Czekamy na nastepny język o śmiesznej
>> nazwie gdzie będzie jeszcze więćej bezstanowości, korutyn, monad i całej
>> masy innych niezwykle przydatnych rzeczy
> Tu się zgadzam. Ciekawe, czy Godek to czyta. :-)
> Ale akurat Ada nie ma związku z żadną z tych rzeczy.
Na codzień mam do czynienia z VHDL. To taka ada + troche ekstra składni.
Pisanie bezpieczne w tym języku polega głównie na obchodzeniu przez
programistów silnego typowania chałupniczymi workaroundami. Stąd
popularnośc Veriloga, można tam pisać co się chce a i tak sie jakoś
skompiluje. Ludzie nie potrzebują bezpicznych jezyków i ograniczeń.
Ludzie są leniwi i potrzebują dodawać inta do stringa a wynik ma być
taki jak ma być i już.
>>> Unit testy nie wykrywają wyjątków. Chyba że mamy inne rozumienie tego terminu.
>> ASSERT_THROW. ASSERT_NO_THROW. Całkiem fajnie wykrywają.
> Ale to nie są unit testy.
To są narzędzia do wykrywania wyjątków w unit testach co oznacza że za
ich pomocą można pisać unit testy testujące wyjątki.
>> Więc jesli mógłbym prosić, przygotuj swoją funkcję na obsługę wyjątków.
> Jest zakaz wyjątków. Właśnie po to, żebym nie musiał przygotowywać.
No ale to nie udowania tezy że rzucanie wyjątku przez generyka jest
bezpieczne czy niebezpieczne. To tylko chowanie głowy w piasek z braku
argumentacji.
Powtarzam, wyjątek czy nie, nie jest kwestią funkcji generycznych jego
obsługa. Jakiekolwiek kombinowanie w tym temacie to błąd projektowy.
Następne wpisy z tego wątku
- 13.05.19 08:29 Maciej Sobczak
- 13.05.19 08:40 Maciej Sobczak
- 13.05.19 09:27 AK
- 13.05.19 12:05 g...@g...com
- 14.05.19 00:53 AK
- 14.05.19 08:51 g...@g...com
- 14.05.19 09:55 Maciej Sobczak
- 14.05.19 15:25 Adam M
- 15.05.19 08:09 Maciej Sobczak
- 15.05.19 21:25 AK
- 16.05.19 08:55 g...@g...com
- 04.08.19 18:11 Borneq
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-10 Chess
- 2024-05-10 chatGPT prawem się zasłania
- 2024-05-10 Vitruvian Man - parts 1-6
- 2024-05-10 Vitruvian Man - parts 7-11a
- 2024-05-10 Chess
- 2024-05-10 Poznań => Specjalista ds. Sprzedaży <=
- 2024-05-10 Vitruvian Man - parts 7-11a
- 2024-05-10 Vitruvian Man - parts 1-6
- 2024-05-10 Vitruvian Man - parts 1-6
- 2024-05-10 Olsztyn => Sales Specialist <=
- 2024-05-10 Warszawa => Cybersecurity Consultant <=
- 2024-05-10 Warszawa => Konsultant ds. cyberbezpieczeństwa <=
- 2024-05-10 Warszawa => Software .Net Developer <=
- 2024-05-10 Warszawa => Programista Full Stack .Net <=
- 2024-05-10 Warszawa => Interactive/Experience Designer <=