-
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".
Następne wpisy z tego wątku
- 08.09.19 08:13 AK
- 08.09.19 08:58 g...@g...com
- 08.09.19 11:19 AK
- 08.09.19 11:36 M.M.
- 08.09.19 12:13 g...@g...com
- 08.09.19 17:32 Maciej Sobczak
- 08.09.19 22:17 Maciej Sobczak
- 09.09.19 17:56 AK
- 11.09.19 07:30 M.M.
- 11.09.19 09:21 Maciej Sobczak
- 11.09.19 20:09 AK
- 11.09.19 20:32 M.M.
- 12.09.19 09:21 Maciej Sobczak
- 12.09.19 12:05 M.M.
- 13.09.19 08:14 Maciej Sobczak
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=