eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak to robią w NASA › Re: Jak to robią w NASA
  • X-Received: by 2002:a05:6214:1808:: with SMTP id o8mr10091537qvw.118.1567894718088;
    Sat, 07 Sep 2019 15:18:38 -0700 (PDT)
    X-Received: by 2002:a05:6214:1808:: with SMTP id o8mr10091537qvw.118.1567894718088;
    Sat, 07 Sep 2019 15:18:38 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin2
    !goblin.stu.neva.ru!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!85.12.16.70.MIS
    MATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwi
    nds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o
    24no9675429qtl.0!news-out.google.com!d29ni1011qtg.1!nntp.google.com!o24no967542
    0qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sat, 7 Sep 2019 15:18:37 -0700 (PDT)
    In-Reply-To: <f...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.25.253.100;
    posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
    NNTP-Posting-Host: 83.25.253.100
    References: <1ua4wui506zbf$.dlg@tyczka.com> <qkecqc$c03$1@news.icm.edu.pl>
    <3...@g...com>
    <qkicu0$knb$1@gioia.aioe.org>
    <4...@g...com>
    <qkjqqi$1b59$1@gioia.aioe.org>
    <0...@g...com>
    <r...@t...com>
    <e...@g...com>
    <1...@g...com>
    <1...@g...com>
    <a...@g...com>
    <8...@g...com>
    <4...@g...com>
    <e...@g...com>
    <8...@g...com>
    <f...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <6...@g...com>
    Subject: Re: Jak to robią w NASA
    From: g...@g...com
    Injection-Date: Sat, 07 Sep 2019 22:18:38 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 7691
    X-Received-Body-CRC: 1574438529
    Xref: news-archive.icm.edu.pl pl.comp.programming:213973
    [ ukryj nagłówki ]

    W dniu sobota, 7 września 2019 17:21:32 UTC+2 użytkownik Maciej Sobczak napisał:
    > > > Napisałem już kilka razy, dlaczego asercji się nie używa a Ty grzebiesz w SJP,
    żeby... no właśnie nie wiem po co.
    > >
    > > No bo błędnie napisałeś.
    >
    > W jakim sensie błędnie? W takim, że się ich używa?

    W takim sensie, jak pisałem na początku.
    Czyli odnośnie tego, czym jest asercja w ogóle.
    Asercja to uznanie jakiegoś sądu za prawdziwy. Oto znaczenie tego słowa.
    Niekiedy tym słowem określa się ślad, jakiego dokonujemy, uznając dany sąd za
    prawdziwy -- na przykład jeśli w kodzie źródłowym napiszemy

    assert(jakiś_sąd)

    to takie wyrażenie określamy mianem asercji (ale określamy w sposób metonimiczny).
    Natomiast to, że w języku C assert to makro, i że owo makro w pewnych okolicznościach
    będzie generowało kod sprawdzający prawdziwość owego sądu i w przypadku negatywnego
    wyniku powodowało wywalenie programu, nie jest asercją.
    Pewnie można to nazwać "pewną strategią obsługi asercji fałszu", ale to już się nie
    mieści w znaczeniu słowa "asercja".

    > > > To na cholerę mi takie asercje?
    > >
    > > Bo po pierwsze, możesz je inaczej interpretować poza swoim procesem.
    >
    > Nie rozumiesz. Nie ma rzeczy poza moim procesem. I nawet nie chodzi o to, że nikt
    mi za nie nie zapłaci. Chodzi wręcz o to, że ze względów zrozumiałych bardziej dla
    prawników, niż inżynierów, rzeczy poza procesem są zabronione.

    Jest bardzo dużo rzeczy poza Twoim procesem.
    Na przykład całe Twoje wcześniejsze doświadczenie.

    > > Po co pisać komentarz, który nic nie robi?
    >
    > Komentarz nie jest dead-codem. To właśnie ten aspekt sprawia, że asercji się nie
    używa.

    Asercja też nie jest dead-codem. W szczególności jak skompilujesz z -DNDEBUG, to nie
    jest żadnym kodem.

    > > W komentarzach mogę pisać cokolwiek.
    >
    > Dalej nie rozumiesz. Za pisanie czegokolwiek wylatuje się z pracy.
    > Ale jak napiszesz coś mądrego, to co innego.

    Z reguły to nie tak wygląda.
    Raczej jest tak, że programista napisze relewantny komentarz, potem inny programista
    zrefaktoryzuje kod, ale zapomni o aktualizacji komentarza, i komentarz przestaje być
    relewantny.

    > > Jak narzędzie mi sprawdzi, że nie kłamię?
    >
    > Czyli nie zajrzałeś do tego linka, którego podałem do Frama-C. Szkoda.
    >
    > > > https://frama-c.com/acsl_tutorial_index.html
    > >
    > > No to wygląda mi na takie rzeczy, które mogę wyrazić w asercjach.
    >
    > Jednak zajrzałeś. Ale nie zrozumiałeś. Tych rzeczy nie da się wyrazić w asercjach
    języka C

    No to spróbujmy pierwszy przykład:

    /*@ ensures \result >= x && \result >= y;
    ensures \result == x || \result == y;
    */
    int max (int x, int y) { return (x > y) ? x : y; }

    int max (int x, int y) {
    int result = (x > y) ? x : y;
    assert(result >= x && result >= y);
    assert(result == x || result == y);
    return result;
    }

    Udało się.

    > Ktoś tego nawet używa.
    > Być może w innym (hipotetycznym?) języku można by było to mieć w asercjach i bez
    dodatkowego narzędzia, ale jakoś ten język nie robi furory w tej branży. Więc jest
    tak, jak pokazałem.
    >
    > > > Wniosek jest taki, że czytaliśmy różne standardy.
    > >
    > > No to dajesz cytaty.
    >
    > Czyli nawet w tej warstwie nic nie rozumiesz.
    > Cytowanie tych standardów jest zabronione. Prawa autorskie i takie tam.

    ,,Czy możemy w swoich pracach korzystać z fragmentów cudzych utworów, a w przypadku
    roszczeń zasłaniać się dozwolonym użytkiem? Odpowiedź jest prosta i brzmi: tak,
    jeżeli wykorzystanie fragmentu cudzego utworu, będzie uzasadnione jednym z celów
    bezpośrednio wskazanych w treści przepisów - ,,wyjaśnianie, polemika, analiza
    krytyczna lub naukowa, nauczanie lub prawa gatunku twórczości.".''
    https://prawo.gazetaprawna.pl/artykuly/1127356,opydo
    -kontra-uniwersal-cytat-czy-naruszenie-praw-autorski
    ch.html

    > Mógłbym ewentualnie podać numer paragrafu, to jest dozwolone. Ale wtedy musiałbyś
    sam sobie to otworzyć i przeczytać. No, ale skoro możesz sam otworzyć i przeczytać,
    to po co mam dawać cytaty? Ctrl-F, "assert", Enter.

    To podaj chociaż tytuły dokumentów.

    Ja zaglądałem tutaj:
    http://www.open-std.org/jtc1/sc22/wg14/www/docs/n125
    6.pdf

    i było w dokumencie kilka użyć słowa "assert" w normalnym angielskim znaczeniu, a
    poza tym było jedynie wyjaśnienie pewnych charakterystyk definicji makra assert.

    > No i serio - o co teraz walczysz, tak konkretnie?

    Z błędnym użyciem słowa "asercja".

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: