eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCo jest nie tak z C++ (było: Rust) › Re: Co jest nie tak z C++ (było: Rust)
  • 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)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: