-
X-Received: by 2002:ac8:228f:: with SMTP id f15mr37104qta.4.1542356860784; Fri, 16
Nov 2018 00:27:40 -0800 (PST)
X-Received: by 2002:ac8:228f:: with SMTP id f15mr37104qta.4.1542356860784; Fri, 16
Nov 2018 00:27:40 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
blin1!goblin.stu.neva.ru!g188-v6no208345itg.0!news-out.google.com!y103-v6ni248i
ta.0!nntp.google.com!g188-v6no208339itg.0!postnews.google.com!glegroupsg2000goo
.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 16 Nov 2018 00:27:40 -0800 (PST)
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.75;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.84.75
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8...@g...com>
Subject: Niezmienniki pętli
From: Maciej Sobczak <s...@g...com>
Injection-Date: Fri, 16 Nov 2018 08:27:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:212902
[ ukryj nagłówki ]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
Następne wpisy z tego wątku
- 16.11.18 16:22 Queequeg
- 16.11.18 16:48 s...@g...com
- 16.11.18 16:50 s...@g...com
- 16.11.18 17:18 AK
- 16.11.18 20:14 Queequeg
- 16.11.18 20:40 s...@g...com
- 16.11.18 20:51 g...@g...com
- 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
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- 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??
Najnowsze wątki
- 2025-03-03 Pruszków => Specjalista ds. public relations <=
- 2025-03-03 Białystok => System Architect (Java background) <=
- 2025-03-03 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-03 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-03-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-03 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-03-03 Warszawa => Spedytor Międzynarodowy <=
- 2025-03-03 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-03-03 Katowice => Key Account Manager (ERP) <=
- 2025-03-02 Tusk idzie na rekord deportacji po 1989 [Będzie popyt na prawników]
- 2025-03-01 Obywatel telefonuje 112 lub 986
- 2025-03-01 detektyw (?) Rutkowski działał jako prasa