-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.tel
efonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!eternal-september
.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-fo
r-mail
From: heby <h...@p...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: <c...@g...com>
<btKtE.25850$wd2.16727@fx24.fr7>
<9...@g...com>
<qasr5t$7i2$1@dont-email.me>
<0...@g...com>
<qav4vb$87q$1@dont-email.me>
<d...@g...com>
<qb1kr4$nqn$1@dont-email.me>
<c...@g...com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
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="a...@e...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: <c...@g...com>
Content-Language: en-US
Xref: news-archive.icm.edu.pl pl.comp.programming:213501
[ ukryj 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-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=