-
X-Received: by 10.31.164.82 with SMTP id n79mr1267216vke.12.1515417658956; Mon, 08
Jan 2018 05:20:58 -0800 (PST)
X-Received: by 10.31.164.82 with SMTP id n79mr1267216vke.12.1515417658956; Mon, 08
Jan 2018 05:20:58 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.
iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganew
s.com!nntp.giganews.com!m31no2778897qtf.0!news-out.google.com!v55ni945qtc.0!nnt
p.google.com!m31no2778894qtf.0!postnews.google.com!glegroupsg2000goo.googlegrou
ps.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 8 Jan 2018 05:20:58 -0800 (PST)
In-Reply-To: <a...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=194.9.244.19;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 194.9.244.19
References: <f...@g...com>
<1...@g...com>
<7...@g...com>
<b...@g...com>
<a...@n...v.pl>
<2...@g...com>
<a...@n...v.pl>
<on23a3$85s$1@node1.news.atman.pl>
<a...@n...v.pl>
<on75ke$g4u$1@node2.news.atman.pl>
<5...@g...com>
<onfotu$lh6$1@node1.news.atman.pl>
<0...@g...com>
<3...@g...com>
<6...@g...com>
<c...@g...com>
<d...@g...com>
<5...@g...com>
<c...@g...com>
<3...@g...com>
<6...@g...com>
<c...@g...com>
<6...@g...com>
<f...@g...com>
<4...@g...com>
<6...@g...com>
<e...@g...com>
<e...@g...com>
<7...@g...com>
<7...@g...com>
<1...@g...com>
<0...@g...com>
<4...@g...com>
<d...@g...com>
<f...@g...com>
<8...@g...com>
<1...@g...com>
<a...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d...@g...com>
Subject: Re: Co jest nie tak z C++ (było: Rust)
From: Maciej Sobczak <s...@g...com>
Injection-Date: Mon, 08 Jan 2018 13:20:59 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 61
Xref: news-archive.icm.edu.pl pl.comp.programming:212212
[ ukryj nagłówki ]> Mylisz się.
> Pewne strategie implementacji rekurencji działają wolniej
> (i zużywają więcej zasobów) od typowych strategii implementacji
> iteracji, i tyle.
> Istnieją strategie, pozwalające implementować rekurencję
> ogonową (czyli taką, która realizuje iterację) bez narzutu.
Tak, jak kompilator zamieni rekurencję na iterację, to działa tak szybko, jak
iteracja. Nie jest jednak prawdą, że bez narzutu, bo tym narzutem może być też
większy koszt kompilacji i optymalizacji kodu. Bo co przepłacać?
Natomiast iteracja zawsze działa tak szybko, jak iteracja. I zawsze jest tak tania,
jak iteracja.
> > Moja iteracyjna definicja przodka była prostsza od Twojej rekurencyjnej.
>
> W jaki sposób chciałbyś uzasadnić, że była prostsza?
Już pisałem: mniej liter, krótsza gramatycznie, nie odwołuje się do definiowanego
pojęcia.
> > Moja iteracyjna metoda wyboru elementów z listy też była prostsza.
>
> W jaki sposób chciałbyś uzasadnić, że była prostsza?
Ma mniej liter? Mniej razy się pomylę? Mniej bugów będę tam poprawiał?
> > Co musisz zmienić w swoim przykładzie, żeby wybrać z listy co dziesiąty element?
>
> Pewnie musiałbym zmienić więcej.
To zmień i pokaż. Bo szczerze mówiąc nie za bardzo mi się chce szarpać w
nieskończoność o filozofię natury, istoty, prostoty, czy czego tam.
Na razie niczego użytecznego w tej dyskusji nie ustaliliśmy.
> Co nie oznacza, że Twoje rozwiązanie
> jest prostsze, tylko to, że Twoje rozwiązanie można łatwiej dostosować
> do pewnej klasy zmian wymagań (z czym się zasadniczo zgadzam)
To też jest użyteczna miara prostoty. Jeśli coś można łatwiej do czegoś dostosować,
to chyba dobrze, co? Po co przepłacać?
Jeszcze raz, co dziesiąty z szeregu wystąp: x[[1;; ;;10]].
Pokaż wersję rekurencyjną i uzasadnij, że zawsze będzie to rekurencja ogonowa, bo
przecież nie chcemy, żeby tak prosta rzecz działała wolniej, niż potrzeba.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 08.01.18 20:25 g...@g...com
- 09.01.18 13:35 Maciej Sobczak
Najnowsze wątki z tej grupy
- 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
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
Najnowsze wątki
- 2025-05-23 Gdańsk => Programista Delphi <=
- 2025-05-23 Warszawa => Senior Key Account Manager IT <=
- 2025-05-23 Zielonka => Key Account Manager IT <=
- 2025-05-23 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-05-23 Elektrozawór do tlenu
- 2025-05-23 Białystok => NMS System Administrator <=
- 2025-05-23 Warszawa => Cloud Engineer (Azure) <=
- 2025-05-23 Warszawa => Inżynier cloud (Azure) <=
- 2025-05-23 Warszawa => Programista Full Stack .Net <=
- 2025-05-23 Warszawa => Software .Net Developer <=
- 2025-05-23 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-23 Warszawa => Starszy Programista C <=
- 2025-05-23 Polskie Obserwatorium Bezpiecze?stwa Ruchu Drogowego (POBR) mapa wypadk??w
- 2025-05-23 Warszawa => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-23 Warszawa => International Freight Forwarder <=