-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Sebastian Biały <h...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Niezmienniki pętli
Date: Sun, 18 Nov 2018 17:35:46 +0100
Organization: ATMAN - ATM S.A.
Lines: 69
Message-ID: <pss4d0$14n$1@node2.news.atman.pl>
References: <8...@g...com>
<7...@g...com>
<d...@g...com>
<psp6q7$97o$1@node2.news.atman.pl>
<6...@g...com>
NNTP-Posting-Host: 176.115.87.102
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1542558944 1175 176.115.87.102 (18 Nov 2018 16:35:44
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sun, 18 Nov 2018 16:35:44 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
Thunderbird/60.3.1
In-Reply-To: <6...@g...com>
Content-Language: en-US
Xref: news-archive.icm.edu.pl pl.comp.programming:212925
[ ukryj nagłówki ]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.
Następne wpisy z tego wątku
- 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
- 19.11.18 17:15 g...@g...com
- 19.11.18 19:45 g...@g...com
- 19.11.18 19:49 g...@g...com
- 19.11.18 21:18 s...@g...com
- 19.11.18 21:44 Queequeg
- 19.11.18 22:10 fir
- 19.11.18 22:16 fir
- 19.11.18 23:12 g...@g...com
- 20.11.18 00:00 AK
- 20.11.18 00:20 AK
- 20.11.18 05:37 s...@g...com
Najnowsze wątki z tej grupy
- 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ą."
- 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
Najnowsze wątki
- 2025-07-07 Re: Ząbki się spaliły jak wiejskie, drewniane stodoły sprzed 50 lat
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 TV z Play (dawniej UPC) -- potrzebny dekoder?
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 mija rok jeżdzenia po lewej
- 2025-07-06 Elektryki jednak są NIEBEZPIECZNE
- 2025-07-08 Fajny film widziałem...
- 2025-07-07 Re: Ząbki się spaliły jak wiejskie, drewniane stodoły sprzed 50 lat
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 Gdańsk => Programista Kotlin <=
- 2025-07-07 Białystok => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-07 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-07-07 Warszawa => International Freight Forwarder <=
- 2025-07-07 Warszawa => Java Developer <=
- 2025-07-07 Białystok => Software Engineer .Net <=