-
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
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-15 Mini Netykieta polskich grup i list dyskusyjnych
- 2024-05-15 Warszawa => Key Account Manager <=
- 2024-05-15 Millenium czyli DEBILE bankowości
- 2024-05-15 Warszawa => Frontend Developer - React <=
- 2024-05-15 Marki => ERP Implementer <=
- 2024-05-15 Marki => Wdrożeniowiec ERP <=
- 2024-05-15 System operacyjny dla 6800?
- 2024-05-15 Ulm => IT Netzwerktechniker (m/w/d) <=
- 2024-05-15 Ulm => Technischer Rollouter (d/m/w) <=
- 2024-05-15 Zabrze => Junior HelpDesk <=
- 2024-05-15 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-15 Niemcy: "Alles fuer Deutschland" jest zakazane (dla AfD - nieprawomocna grzywna)
- 2024-05-14 Ustawy o rejestracji obcych agentów (wpływu): fuj Gruzja/Rosja v. cacy USA
- 2024-05-14 VMWare :)
- 2024-05-14 Ulm => Solution Engineer (m/w/d) Data Center Technologies <=