-
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
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-27 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-06-27 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-06-27 Warszawa => Senior SAP Consultant - PP area <=
- 2025-06-27 Warszawa => Spedytor Międzynarodowy <=
- 2025-06-27 Zasilanie elektryków w Polsce
- 2025-06-27 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-27 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-27 Wrocław => Senior Android Developer (Java) <=
- 2025-06-27 Warszawa => IT Director <=
- 2025-06-27 Wrocław => Controlling systems Consultant <=
- 2025-06-27 Warszawa => Software Engineer .Net <=
- 2025-06-27 BMW
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Inwentaryzacja budynku