-
Data: 2018-11-16 20:51:30
Temat: Re: Niezmienniki pętli
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu piątek, 16 listopada 2018 09:27:41 UTC+1 użytkownik Maciej Sobczak napisał:
> Zastanawiam się, czy to jest pojęcie wyłącznie akademickie.
>
> W tzw. "normalnym" programowaniu, które praktykuje większość programistów, nigdy
nie widziałem odwołania się do takiej koncepcji w sensie wykorzystania niezmienników
w projektowaniu kodu.
> Jak programista ma do napisania pętlę, to w praktyce:
> - albo już pisał podobną i napisze jeszcze raz (to jest najczęstszy przypadek),
> - albo nie pisał, ale rozumie i napisze posługując się głównie intuicją (wtedy mamy
frajdę, bo coś nowego),
> - albo nie rozumie i nie napisze.
>
> Niezmienniki pozwalają jednak pętlę zaprojektować albo przeanalizować i np. dojść
do wniosku, że jest poprawna.
> Nie pytam o metody formalne, tylko o powiedzmy nieco bardziej świadomą praktykę
programistyczną. Nazwijmy to ładnie "attentive engineering". Albo "mindful
engineering".
>
> Pytanie jest takie: czy ktoś z Was spotkał się z tym pojęciem (poza szkołą) a nawet
z niego skorzystał w praktyce? Czy to jest praktyka, do której staracie się sięgać w
tym trzecim przypadku? A może bardziej regularnie?
>
> Czy może po prostu w ogóle temat jest oderwany od tzw. rzeczywistości?
>
> Ciekawi mnie Wasze spojrzenie na tą sprawę również wtedy, gdy piszecie w językach
nie-imperatywnych, gdzie takich klasycznych pętli jest mniej albo w ogóle ich nie ma.
Czy w związku z tym zagadnienie niezmienników jest niepotrzebne? A może nadal jest
potrzebne i coś innego je zastępuje?
>
> Wersja dla quizowiczów:
> - wiem i używam albo pamiętam, że mogę,
> - słyszałem i ignoruję,
> - nie rozumiem pytania[*].
>
> [*] https://en.wikipedia.org/wiki/Loop_invariant
>
> --
> Maciej Sobczak * http://www.inspirel.com
Kevlin Henney poruszył ten temat w jednej z prezentacji,
pokazując związek logiki Hoare'a z "metodyką" "given-when-then"
stosowaną przy pisaniu testów:
https://www.youtube.com/watch?v=JiQct3QixMo
Jeżeli idzie o mnie, to zastanawianie się nad "warunkami początkowymi"
i "warunkami końcowymi" wydaje mi się dziwne. I o ile wyrażanie własności
programów wydaje mi się ważnym skillem (np. w połączeniu z model-checkerami
albo property-based testing), i dostrzegam pewną wartość w akademickich
narzędziach pokroju ATS i liniowych systemach typów, o tyle pytanie
o niezmienniki pętli jest dla mnie po prostu nienaturalną formą
rozumowania.
(Ale też jeśli mam wybór, wolę myśleć w oparciu o równania rekurencyjne,
niż imperatywne pętle)
Następne wpisy z tego wątku
- 16.11.18 21:05 Queequeg
- 16.11.18 23:51 Maciej Sobczak
- 16.11.18 23:55 Maciej Sobczak
- 17.11.18 14:58 Sebastian Biały
- 17.11.18 16:59 s...@g...com
- 18.11.18 00:10 Maciej Sobczak
- 18.11.18 01:02 Queequeg
- 18.11.18 09:58 AK
- 18.11.18 10:10 fir
- 18.11.18 10:28 fir
- 18.11.18 17:35 Sebastian Biały
- 19.11.18 08:14 Maciej Sobczak
- 19.11.18 09:22 Roman Tyczka
- 19.11.18 10:37 Queequeg
- 19.11.18 10:45 Queequeg
Najnowsze wątki z tej grupy
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 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!!!
Najnowsze wątki
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Dlaczego wrzucenie szkolnego krzyża do śmieci to zbrodnia mniejsza od zgaszenia sejmowej menory?
- 2026-01-08 NR 5G -- mity, hity, kity, bez satelity...
- 2026-01-07 Oszustwa w go go
- 2026-01-07 Jaka myjka ultradźwiękowa?
- 2026-01-07 POCO
- 2026-01-07 Kraków => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-07 Kraków => Microsoft Dynamics AX/365 SCM Consultant - Service & Suppor
- 2026-01-06 I kolejny
- 2026-01-06 Retro organizer ale współcześnie
- 2026-01-06 Bowling
- 2026-01-06 Cyganie
- 2026-01-06 Rozwód w Santanderze z prostokątną kobietą...
- 2026-01-06 Skąd diody LED 1,5V?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]