Article View: pl.comp.programming
Article #215559Re: Ada Tutorial - w Instytucie Lotnictwa
From: heby
Date: Fri, 10 May 2019 19:00
Date: Fri, 10 May 2019 19:00
68 lines
5036 bytes
5036 bytes
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.
Technical Details
Message-ID:
<qb4hnr$eqn$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mailReferences:
<c1760262-b4a3-44fe-a99e-2fa16be86820@googlegroups.com> <btKtE.25850$wd2.16727@fx24.fr7> <9537dd39-0164-41a6-803b-393b77b4a701@googlegroups.com> <qasr5t$7i2$1@dont-email.me> <0eb77d44-3b22-41cb-8339-2346fe0b6c4d@googlegroups.com> <qav4vb$87q$1@dont-email.me> <dccdf13d-3ee3-4cf0-a99e-da8828579160@googlegroups.com> <qb1kr4$nqn$1@dont-email.me> <c5cd80a1-d0a2-4fc5-810d-30ff996a9d03@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: heby <heby@poczta.onet.pl> Newsgroups: pl.comp.programming Subject: Re: Ada Tutorial - w Instytucie Lotnictwa Date: Fri, 10 May 2019 21:00:09 +0200 Organization: A noiseless patient Spider Lines: 68 Message-ID: <qb4hnr$eqn$1@dont-email.me> References: <c1760262-b4a3-44fe-a99e-2fa16be86820@googlegroups.com> <btKtE.25850$wd2.16727@fx24.fr7> <9537dd39-0164-41a6-803b-393b77b4a701@googlegroups.com> <qasr5t$7i2$1@dont-email.me> <0eb77d44-3b22-41cb-8339-2346fe0b6c4d@googlegroups.com> <qav4vb$87q$1@dont-email.me> <dccdf13d-3ee3-4cf0-a99e-da8828579160@googlegroups.com> <qb1kr4$nqn$1@dont-email.me> <c5cd80a1-d0a2-4fc5-810d-30ff996a9d03@googlegroups.com> Mime-Version: 1.0 Injection-Date: Fri, 10 May 2019 19:00:12 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="f10f322605eb5d44a142b19f15d3f199"; logging-data="15191"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4gqFAmtex4UNRVlFzAIhJ" User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 Cancel-Lock: sha1:CgEbI9KU0RePOAYv//N9UcfaVP0= In-Reply-To: <c5cd80a1-d0a2-4fc5-810d-30ff996a9d03@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit