-
X-Received: by 2002:a0c:df12:: with SMTP id g18mr2715878qvl.34.1566545361577; Fri, 23
Aug 2019 00:29:21 -0700 (PDT)
X-Received: by 2002:a0c:df12:: with SMTP id g18mr2715878qvl.34.1566545361577; Fri, 23
Aug 2019 00:29:21 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!fee
der6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.co
m!border1.nntp.dca1.giganews.com!nntp.giganews.com!f14no7053962qtq.0!news-out.g
oogle.com!d29ni2633qtg.1!nntp.google.com!f14no7053951qtq.0!postnews.google.com!
glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 23 Aug 2019 00:29:21 -0700 (PDT)
In-Reply-To: <3...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=31.0.82.182;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 31.0.82.182
References: <5...@g...com>
<b...@g...com>
<3...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d...@g...com>
Subject: Re: Sortowanie bąbelkowe
From: g...@g...com
Injection-Date: Fri, 23 Aug 2019 07:29:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 27
Xref: news-archive.icm.edu.pl pl.comp.programming:213826
[ ukryj nagłówki ]W dniu piątek, 23 sierpnia 2019 08:18:35 UTC+2 użytkownik Maciej Sobczak napisał:
> > Spośród rozwiązań na Rosetta Code to w Wolframie jest niewątpliwie najładniejsze:
> >
> > bubbleSort[{w___, x_, y_, z___}] /; x > y := bubbleSort[{w, y, x, z}]
> > bubbleSort[sortedList_] := sortedList
>
> Tak, w tym wypadku wzorzec (i to razem z warunkiem) jest w "sygnaturze" funkcji. To
pokazuje, że w Wolframie wywołanie funkcji nie działa tak samo jak w innych językach,
tylko jest podmianą pasującego wzorca. Z punktu widzenia innych języków to powyżej to
"przeciążanie" funkcji, ale widać, że wtedy przeciążanie na podstawie liczby albo
typów argumentów to zaledwie kropelka w morzu tego, co da się takim mechanizmem
zrobić.
> Przyznam jednak, że o ile ten mechanizm ma wysoką teoretyczną estetykę (pomijając
rekurencję w tym przykładzie, która to rekurencja nie ma żadnej wartości dodanej i
jest ogólnie fuj), to mam opory przed jego szerszym użyciem. Może ograniczają mnie
stare przyzwyczajenia, ale pewniej się czuję z wzorcami ukrytymi wewnątrz funkcji,
tak jak w moim pierwszym przykładzie. To, że te dwa podejścia są wymienne widać też
po tym, że nawet ilość kodu jest taka sama (ale rekurencja jest fuj).
A dlaczego rekurencja jest fuj?
(I dlaczego Stephen Wolfram zdecydował się ją wesprzeć w swoim języku?)
Następne wpisy z tego wątku
- 23.08.19 10:34 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-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-03-14 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-03-14 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-14 VAT-R Umowa najmu na adres zamieszkania
- 2025-03-14 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-14 Warszawa => Junior Rekruter <=
- 2025-03-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-14 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-14 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-03-13 Raspberry Pi 3 Model B+
- 2025-03-13 Kuchenka elektryczna
- 2025-03-12 test
- 2025-03-13 własny ekran startowy