-
X-Received: by 10.31.52.71 with SMTP id b68mr1036758vka.13.1515362445719; Sun, 07 Jan
2018 14:00:45 -0800 (PST)
X-Received: by 10.31.52.71 with SMTP id b68mr1036758vka.13.1515362445719; Sun, 07 Jan
2018 14:00:45 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!peer02.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-medi
a.com!news.highwinds-media.com!g35no2344146qtk.1!news-out.google.com!t48ni839qt
c.1!nntp.google.com!g35no2344141qtk.1!postnews.google.com!glegroupsg2000goo.goo
glegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 7 Jan 2018 14:00:45 -0800 (PST)
In-Reply-To: <1...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.186.79.211;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 46.186.79.211
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a...@g...com>
Subject: Re: Co jest nie tak z C++ (było: Rust)
From: g...@g...com
Injection-Date: Sun, 07 Jan 2018 22:00:45 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Body-CRC: 3351801400
X-Received-Bytes: 6163
Xref: news-archive.icm.edu.pl pl.comp.programming:212211
[ ukryj nagłówki ]W dniu niedziela, 7 stycznia 2018 22:30:41 UTC+1 użytkownik Maciej Sobczak napisał:
> > Co do istoty, iteracja nie jest bardziej wydajna, niż rekurencja,
> > bo iteracja jest tylko specjalizacją rekurencji.
>
> Ale ja do ich uruchomienia używam nie "istoty", tylko procesora. A tam iteracja
działa szybciej.
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.
> > Dobrze jest to wyjasnione w "Strukturze i Interpretacji Programów
> > Komputerowych",
>
> A jeszcze lepiej w dokumentacji procesora.
W dokumentacji procesora nie używa się takich pojęć, jak
"proces obliczeniowy".
> > Rekurencja natomiast zarówno może więcej (jest mniej wyspecjalizowana),
> > jak również jest prostsza (w sensie złożoności) od iteracji.
>
> Tego nie pokazałeś.
Nie pokazałem, ale mógłbym łatwo pokazać, definiując funkcję, której
Ty użyłeś, za pomocą rekurencji.
> Moja iteracyjna definicja przodka była prostsza od Twojej rekurencyjnej.
W jaki sposób chciałbyś uzasadnić, że była prostsza?
> Moja iteracyjna metoda wyboru elementów z listy też była prostsza.
W jaki sposób chciałbyś uzasadnić, że była prostsza?
> > W przypadku podanego przez Ciebie przykładu, zrozumienie zapisu x[[1 ;; ;; 2]]
> > wymaga odwołania do dokumentacji
>
> Tak.
>
> > W rozwiązaniu Kaya jedyna przypadkowa złożoność
> > jest w nazwach. Ale w tej kwestii z pomocą przychodzi nam dorobek
> > Burstalla,
>
> I teraz zrozumienie Twojego przykładu wymaga odwołania się do dorobku Burstalla.
Nie wymaga.
> Nie przekonałeś mnie, że jest to prostsze. A mój zapis dalej jest krótszy. Co
więcej, jeśli będę chciał mieć nie co drugi element, tylko co dziesiąty, to zmienię 2
na 10 i działa: x[[1;; ;;10]]. Złożoność tego zapisu się nie zmieniła. Co musisz
zmienić w swoim przykładzie, żeby wybrać z listy co dziesiąty element?
Pewnie musiałbym zmienić więcej. 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)
Następne wpisy z tego wątku
- 08.01.18 14:20 Maciej Sobczak
- 08.01.18 20:25 g...@g...com
- 09.01.18 13:35 Maciej Sobczak
Najnowsze wątki z tej grupy
- "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
- 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?
Najnowsze wątki
- 2025-04-02 Wrocław => Key Account Manager (ERP) <=
- 2025-04-02 Zielona GĂłra => Konsultant wdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-04-02 Zielonka => Specjalista ds. public relations <=
- 2025-04-02 Gliwice => IT Expert (Network Systems area) <=
- 2025-04-02 Kraków => Spedytor Międzynarodowy <=
- 2025-04-02 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-04-02 Warszawa => Generative AI Engineer <=
- 2025-04-02 Szczecin => Key Account Manager IT <=
- 2025-04-02 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-04-02 Kraków => Business Development Manager - Network and Network Security
- 2025-04-02 Warszawa => Dyrektor Sprzedaży (rozwiązania Cloud) <=
- 2025-04-02 Warszawa => Sales Director (Cloud solutions) <=
- 2025-04-01 Telefonia VoIP
- 2025-04-01 Na miejscu zginelo dwóch którzy przewozeni byli w bagazniku.
- 2025-04-01 Darmowa autostrada