-
Data: 2018-01-08 14:20:58
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer PIS
- 2025-02-19 Ogrodzenie dla krów szkockich "Highland"
- 2025-02-19 Gdańsk => System Architect (background deweloperski w Java) <=
- 2025-02-19 Gdańsk => Solution Architect (Java background) <=
- 2025-02-19 Białystok => Data Engineer (Tech Leader) <=
- 2025-02-19 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-19 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-19 Rzeszów => International Freight Forwarder <=
- 2025-02-19 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-19 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-02-19 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-19 Nigdy
- 2025-02-19 Katowice => Key Account Manager (ERP) <=