-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=