-
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
- 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!!!
- 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ą."
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML