Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #32013

Re: Niezmienniki pętli

From Sebastian Biały <heby@poczta.onet.pl>
Newsgroups pl.comp.programming
Subject Re: Niezmienniki pętli
Date 2018-11-18 17:35 +0100
Organization ATMAN - ATM S.A.
Message-ID <pss4d0$14n$1@node2.news.atman.pl> (permalink)
References <8a836d02-2281-4fe5-9192-ab1f127a163d@googlegroups.com> <7b5d82e1-72bb-4d42-96cb-0091385d7ef6@googlegroups.com> <d35b9c0f-333e-4cb8-9d83-e32eddcac124@googlegroups.com> <psp6q7$97o$1@node2.news.atman.pl> <6bea513b-1794-4d99-9380-931550599e51@googlegroups.com>

Show all headers | View raw


On 18/11/2018 00:10, Maciej Sobczak wrote:
>> Zasada jest taka że jeśli kod
>> kontrolujący stan miałbym mieć więcej linijek niż goły algorytm to
>> *zaciemnia* kod
> Tak, to ważna obserwacja. Może da się te rzeczy rozdzielić?

To następna obserwacja: jeśl wpływa to na runtime release należy to 
odrzucić. Wszelakie checkery asercyjne, za wyjątkiem programowania 
defensywanego, nie mogą istnieć w kodzie produkcyjnym. Z marginesem 
dyskusji o językach w których jest kłopot z warunkową kompilacją.

>> Po jakiś 20 latach stukania w klawisze
>> widziałem kod opakowany DbC po brzegi i wymagał on niesłychanie dużo
>> czasu aby zorientować się gdzie jest algorytm a gdzie checkery.
> Czy czytelność kodu nie jest też kwestią umiejętności piszącego?

Jest, ale w przypadku nadmiaru checkerów nie da się pisać czytelnie. 
Nazjwyczajniej nie widać gdzie jest algorytm w morzu makr, asercji czy 
fake funkcji. Widziałem kiedyś IDE które klapsowało asercje. Niestety 
tylko asercje.

> Nie zawsze sama koncepcja programistyczna musi ją przekreślać. Tzn. to nie musi być wina DbC, że kod jest nieczytelny.

Tak, ale nadmiar DbC generuje zaciemnienie kodu. Taki smutny praktyczny 
wniosek. Biorę jednak pod uwagę że pracuje z toksyczym językiem.

>> Znacznie
>> bardziej ufam unit testom i coverage niż ręcznie pisanym DbC.
> W porządku. Testy też są potrzebne. A co jeśli część DbC można sprawdzić statycznie?

Potrzebujemy kompilator który to by potrafił :) Jakiś porządny lint. Mój 
język, C++, ma wyjątkowo popieprzony problem z side effects i kiesko 
widzę kontrole DbC na poziomie statycznej analizy kodu. Może dla 
prostych przypadków, ale takich za dużo nie ma.

> A co jeśli wtedy można by niektórych testów w ogóle nie mieć?

Dlatego używam np metaprogramowania do kontrolownia różych obliczeń. 
Jednak dalej brakuje mi czegoś takiego jak int a<4-200> i kontroli 
komilatora w debug kiedy a zmieni się poza zakres. Contraints by się 
przydało i już powoduje to zniknięcie kilku lini DbC.

>> Być może
>> to jednak efekt języka, czyi w moim przypadku C++, nie wykluczam że
>> można to czytelniej zapisać gdzie indziej.
> A może wtedy należy odwrócić kolejność i zamiast szukać języka, gdzie to jest czytelne (albo zamiast doklejać DbC do używanego języka), można taki język zrobić?

Nie. Poza przypadkami jak clojure nie znam w zasadzie nic co mogło by 
być uznane za projekt języka do potrzeb. Języki które są popularne mają 
bibliteki, języki wymyślane nie. Na sam koniec wyjądujesz projektując 
jeszcze jeden niszowy język na bytecode javy i z nią kompatybilny 
którego nikt nie użyje poza helloworld.

Obserwuje że ludzie nie chcą języków bezpiecznych. Potrzebują zabawek 
typu python albo stosu kupy typu perl i są zadowoleni.

> W sensie - zamiast rezygnować z DbC, bo jest nieczytelny, zróbmy język tak, żeby to było czytelne.
> To nie są zupełnie teoretyczne pytania.

Język ten nie zdobedzie popularnosci. Wolałbym dodanie czegoś do 
istniejących języków.

Na początek chciabym w C++ takie coś:

debug {
	// O(N^2) checker
}

I ide kolapsujący te sekcje.

Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-16 00:27 -0800
  Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-16 15:22 +0000
    Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-16 17:18 +0100
  Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-16 07:48 -0800
    Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-16 07:50 -0800
    Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-16 19:14 +0000
      Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-16 11:40 -0800
        Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-16 20:05 +0000
          Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-17 07:59 -0800
            Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-18 00:02 +0000
    Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-16 14:51 -0800
      Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-19 09:37 +0000
    Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-18 01:10 -0800
      Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-18 01:28 -0800
  Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-16 11:51 -0800
    Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-16 14:55 -0800
      Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-17 14:58 +0100
        Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-17 15:10 -0800
          Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-18 09:58 +0100
          Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-18 17:35 +0100
            Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-18 23:14 -0800
              Re: Niezmienniki pętli Roman Tyczka <noemail@because.no> - 2018-11-19 09:22 +0100
              Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 08:15 -0800
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 10:45 -0800
                Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-22 18:50 +0100
              Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 10:49 -0800
                Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-19 12:18 -0800
                Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-19 20:44 +0000
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-19 13:10 -0800
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-19 13:16 -0800
                Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-20 09:43 +0000
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 01:58 -0800
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-20 14:27 -0800
                Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-21 10:12 +0000
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-21 11:35 -0800
                Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-21 21:10 +0000
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-21 02:36 -0800
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 14:12 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 00:20 +0100
                Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-20 09:35 +0000
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 12:00 +0100
                Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-19 20:37 -0800
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-20 13:46 -0800
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 01:46 -0800
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 12:52 -0800
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 13:16 -0800
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 06:07 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 17:54 +0100
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 23:16 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-21 15:54 +0100
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-21 16:07 +0100
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-21 13:48 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-22 16:08 +0100
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 00:00 +0100
                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-22 13:53 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-22 23:25 +0100
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 00:41 +0100
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 00:43 +0100
                Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-22 22:33 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 10:34 +0100
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-23 05:46 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:39 +0100
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:42 +0100
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:47 +0100
                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-23 10:54 -0800
                Re: Niezmienniki pętli Borneq <borneq@antyspam.hidden.pl> - 2018-12-01 15:15 +0100
                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-12-01 11:50 -0800
                Re: Niezmienniki pętli Borneq <borneq@antyspam.hidden.pl> - 2018-12-02 13:52 +0100
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-24 12:20 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:53 +0100
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-24 12:05 -0800
                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-26 02:01 -0800
                Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-23 08:42 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 19:42 +0100
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 19:43 +0100
                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-22 23:00 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 10:38 +0100
                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-23 04:08 -0800
                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-23 04:10 -0800
                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:33 +0100
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 05:38 -0800
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-21 11:32 -0800
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-21 13:28 -0800
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-21 14:04 -0800
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-22 02:31 -0800
                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-22 06:22 -0800
              Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-22 18:53 +0100
            Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-19 09:45 +0000
              Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 05:29 -0800
                Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-20 22:26 +0000
  Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-29 00:08 -0800

csiph-web