🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215560

Re: Ada Tutorial - w Instytucie Lotnictwa

#215560
From: Maciej Sobczak
Date: Mon, 13 May 2019 06:40
62 lines
4470 bytes
> > A co jest złego w MISRA-C++?
> 
> Nikt go nie używa.

Właśnie pytam, dlaczego.

> Po prostu jest niekoszerny.

Ciekawa obserwacja. Ale w takim razie ogólnie jesteśmy w lesie, bo to nie powinno być kryterium wyboru metod albo technologii.
Niemniej, jeśli nikt nie używa C++, to po co dyskutujemy o wyjątkach w C++?

> 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.

Co trzeba poprawić?

> 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.

I w jaki sposób by to pomogło rakiecie Ariane?
Ona rozwaliła się nie przez to, że ktoś napisał brzydki kod, tylko przez to, że bezrefleksyjnie złożono do kupy moduły z nowej i starej rakiety.
Twoja klasa nie pomogłaby dokładnie tak samo, jak Ada nie pomogła. Przez tych samych księgowych.
Tu widać, że programiści, nawet jeśli czasem są problemem, to zwykle nie są rozwiazaniem. Sorry.

> > Są też systemy pisane w niebezpiecznych językach w niebezpieczny sposób.
> 
> Tak. Na przykład Verilog.

No właśnie. Czemu nie VHDL?

> 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ż.

Bardzo ciekawa obserwacja.
I jak to można naprawić?

Tylko nie pisz, że "gdyby zatrudnili porządnych programistów...", bo to jest argument od czapy.

> >>> 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.

Nie, bo unit testy nie testują wyjątków. Chyba że mamy inne rozumienie tego terminu.

> Powtarzam, wyjątek czy nie, nie jest kwestią funkcji generycznych jego 
> obsługa.

Ale one nie muszą go obsługiwać (pojęcie "obsługi wyjątków" jest w ogóle słabe, bo nie wskazuje, co się do tej obsługi zalicza; zwijanie stosu i omijanie istniejącego kodu to obsługa czy nie?). Ważne, żeby te wszystkie rozgałęzienia były pokryte testami. A nie są. Więc jest źle.

-- 
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID: <3e300e66-45f8-4df2-ae7e-6a95a687bd1a@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!c48no1586111qtc.0!news-out.google.com!b26ni415qtp.1!nntp.google.com!c48no1586104qtc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
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> <qb4hnr$eqn$1@dont-email.me>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:1ae2:: with SMTP id h31mr22379489qtk.75.1557729648341;        Sun, 12 May 2019 23:40:48 -0700 (PDT)
X-Received: by 2002:ac8:1c53:: with SMTP id j19mr22559719qtk.152.1557729648209; Sun, 12 May 2019 23:40:48 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!c48no1586111qtc.0!news-out.google.com!b26ni415qtp.1!nntp.google.com!c48no1586104qtc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 12 May 2019 23:40:47 -0700 (PDT)
In-Reply-To: <qb4hnr$eqn$1@dont-email.me>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.71; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.84.71
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> <qb4hnr$eqn$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3e300e66-45f8-4df2-ae7e-6a95a687bd1a@googlegroups.com>
Subject: Re: Ada Tutorial - w Instytucie Lotnictwa
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Mon, 13 May 2019 06:40:48 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit