eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAda Tutorial - w Instytucie Lotnictwa › Re: Ada Tutorial - w Instytucie Lotnictwa
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: