-
Data: 2019-09-08 00:18:37
Temat: Re: Jak to robią w NASA
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie 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-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=