eGospodarka.pl
eGospodarka.pl poleca

  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
    !2.eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!reader
    01.eternal-september.org!.POSTED!not-for-mail
    From: heby <h...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: POpularno?? j?zyk?w programowania ??
    Date: Fri, 4 Oct 2019 20:54:41 +0200
    Organization: A noiseless patient Spider
    Lines: 118
    Message-ID: <qn84hk$ej4$1@dont-email.me>
    References: <ZFueF.189972$Jh2.55867@fx39.am4>
    <5d835054$0$525$65785112@news.neostrada.pl>
    <qm5o8c$6mr$1@news.icm.edu.pl>
    <5d867c27$0$17361$65785112@news.neostrada.pl>
    <qm5va9$c07$1@dont-email.me> <5d86b148$0$520$65785112@news.neostrada.pl>
    <qm7c3j$pl6$1@dont-email.me> <5d87968d$0$503$65785112@news.neostrada.pl>
    <qm875f$g8o$1@dont-email.me> <5d87b31a$0$522$65785112@news.neostrada.pl>
    <qm8e0j$s55$1@dont-email.me> <qmgven$som$1@z-news.wcss.wroc.pl>
    <qmiovo$fk3$1@dont-email.me> <qml41c$h79$1@z-news.wcss.wroc.pl>
    <qmlhb2$b1k$1@dont-email.me>
    <d...@g...com>
    <qmt9rr$e6n$1@dont-email.me>
    <3...@g...com>
    <qn5eeg$2t3$1@dont-email.me>
    <5...@g...com>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Fri, 4 Oct 2019 18:54:45 -0000 (UTC)
    Injection-Info: reader02.eternal-september.org;
    posting-host="817d28bbc10fb309c9ac31427d493652";
    logging-data="14948";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1+C2FRnNXydzfHRT5QexNcU"
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
    Thunderbird/60.9.0
    Cancel-Lock: sha1:WWHSvZVLsyVrEQ06Cl1sD8KKUJQ=
    In-Reply-To: <5...@g...com>
    Content-Language: en-US
    Xref: news-archive.icm.edu.pl pl.comp.programming:214205
    [ ukryj nagłówki ]

    On 04/10/2019 08:17, Maciej Sobczak wrote:
    >>> Skrót jest taki: w Ariane 5 wykorzystano moduł opracowany dla Ariane 4, czyli pod
    inne wymagania.
    >> I nikt go pod te wymagania nie testował.
    > Na jakiej podstawie tak uważasz?
    > Nie dość, że testował, to jeszcze używał:
    > "unless proves necessary, it was not wise to make changes in software which WORKED
    WELL on Ariane 4"

    "Skoro silnik do motorówki pracował na jeziorze to nie ma sensu
    weryfikować czy się sprawdziw odrzutowcu bo pracował przecież dobrze".

    Tak, weryfikowali jak widać.

    "internal variable related to the horizontal velocity of the launcher
    exceeding a limit which existed in the software of this computer."

    No przecież w motorówce działało!

    >> Słusznie. "inzynier syatemowy" bowiem zakłada magiczność Ady
    > Nie czytałeś. Inżynier systemowy założył, że można część testów zrobić na
    symulatorze a nie na fizycznym module. 3.1 Findings, podpunkt s).

    Czyli software nie jest gotowy na jakieśtam wskazania czujników i nie ma
    ani grama zabezpieczenia przed tym kiedy te czujniki wariują. Bo
    symulator przecież nie wariuje. Great job, dev!

    >> Jeśli się upierasz że winę nie ponosi ktoś kto napisał kiepską funkcję
    >> tylko jakiś pierdzący w stołek dyrektor
    > "It is important to note that the decision [...] was taken jointly by project
    partners at several contractual levels."
    > Wiesz, co to są "contractual levels"?

    "Heniek, a programiści nie mają nic przeciwko żeby to wsadzić do
    większej rakiety?"

    "Eeee, nie, dwóch się zwolniło a ten trzeci w kiblu siedzi, więc
    zakładamy że zadziała, przecież to Ada, co może pójść źle?".

    >> to może spuśćmy zasłonę
    >> milczenia na to jak zakończą się następne projekty tego teamu
    > No właśnie - jak się zakończyły następne projekty?

    Tego teamu nie ma zapewne. Po takiej przewrotce ludzie może i robią to
    samo ale nie tak samo.

    >> Kod który zakłada że "wynik obliczeń na pewno zmieści się w typie int16
    >> alnie nie testujemy bo nie chce nam się" jest do dupy z definicji.
    > Czyli nie czytałeś. To był wynik rzutowania z 64-bitowego float'a.

    Przecież to tylko ironia. Ponadto i tak mam racje:

    "The floating point number which was converted had a value greater than
    what could be represented by a 16-bit signed integer."

    > W jaki sposób byś to przetestował? Rzutując większe wartości i dostając wyjątek i
    stwierdzając, że reakcja jest poprawna?
    > Właśnie taka reakcja była.
    W dowolny. Jeśli reakcją rakiety jest detonacja bo czyjnik lub inny
    element systemu zwrócił za dużą wartość (z powodu mechaniki czy błedu
    systemu) to nie jest to dobra reakcja. Choć nie wykluczam że TAK BYŁO W
    SPECYFIKACJI.

    >> Choćby dlatego że w takim wypadku używa się arytmetyki z saturacją jesli
    >> ma wystapić niemożliwe.
    > Jakiś link do standardu, który tak nakazuje.

    Zdrowy rozsądek nie miewa standardów niestety.

    > Jeśli wystąpiło niemożliwe, to znaczy, że nie wiesz, co się dzieje. Wtedy odpala
    się procdurę awaryjną, którą w przypadku Ariane 5 było samozniszczenie.

    Procedura awaryjna którą jest samozniszczenie. Fantastycznie. A
    wystarczyło dodać ifa. Ale TAK BYŁO W SPECYFIKACJI ZEBY GO NIE DODAĆ
    AKURAT W TEJ FUNKCJI CHOĆ WSZEDZIE INDZIEJ BYŁO.

    >> A tu najzwyczajniej w "bezpiecznym języku"
    >> odpierdolono byle jak.
    > Gdzie w tym raporcie jest takie stwierdzenie?

    Skoro funkcja pobiarająca dane z czunika lub innej częsci systemu nie
    jest zabezpieczona przed randomizami na wejściu to jest to ODPIERDALANIE
    i powie Ci to każdy programista embedded. Nie musisz mieć na to raportu
    bo raporto nie służy do szukania przyczyn kolokwialnych a jedynie w
    opisaniu przyczyn technicznych.

    >> Ada pokazuje że można z bezpiecznego języka zrobić takie same fajerwerki
    >> jak z pisania w C.
    > Nikt nie twierdzi inaczej. Niektórzy twierdzą jednak, że w dobrym języku o
    fajerwerki jest trudniej.

    Jak widać trudniej nie znaczy że Heniek z Frankiem nie dali rady
    odpierdniczyć byle jak, nawet język nie dał rady się obronić.

    "The data conversion instructions (in Ada code) were not protected from
    causing an Operand Error, although other conversions of comparable
    variables in the same place in the code were protected."

    "Ty, Heniek, to może tutaj nie będziemy robić tych ifów, na h. to komu a
    rom się kończy...".

    >> Zawsze podstawowe pytanie brzmi: czy kod jest zweryfikowany,
    >> poddany testom, ma pokrycie coverage które definiuje jakiś poziom ryzyka.
    > I który punkt raportu stwierdza, że tego nie było?

    Nie było testu weryfikującego odczyt warości z poza zakresu. Czyli mniej
    wiecej *PIERWSZY* test jaki robisz w celu znalezienia niepokrytych
    stanów w jakimś fragmencie kodu.

    >> A tutaj sobie jakiś misio wrzuca kod z jednego systemu do drugiego.
    > Dlatego powtórzę: to nie była wina Ady, to nie była wina programistów i nic więcej
    nie miałbyś tam do powiedzenia.

    Wiesz że może nawet się zgodzę. W systemach krytycznych 10x ważniejsze
    jest testowanie kodu niż pisanie kodu. Może nawet 100x wazniejsze.
    Dlatego rynek systemów krytycznych mniej wiecej w takiej proporcji
    oferuje narzędzia weryfikacyjne vs narzędzia do pisania kodu.

    > Przeczytaj ten raport.

    Ale ja go czytałem. Kilka razy. Masz podejście religijne a ja
    praktyczne. Ponadto ja tylko troluje. Najzwyczajniej w świecie spuszczam
    powietrze z Ady, bo wiele więcej tam nie ma poza nudnym na wskroś
    następnym językiem imperatywnym tyle że z dużą liczbą wyznawców.

    Ada tak. Ale na rany koguta, z TESTOWANIEM.

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: