eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSortowanie bąbelkowe › Re: Sortowanie bąbelkowe
  • 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?)

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: