Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #32787

Re: "Najbardziej imponujący kod, jaki widziałem"

Newsgroups pl.comp.programming
Date 2019-08-03 12:51 -0700
References (2 earlier) <c10e995b-108e-4770-840c-f27c95c0d36c@googlegroups.com> <004de5cc-bf54-4740-92d9-d7f5892c68f1@googlegroups.com> <ba268c8f-c446-4d4c-93e9-b640ebd0f75e@googlegroups.com> <d570836b-f9da-4359-b307-981afc6d4b40@googlegroups.com> <2f6d1e89-c868-49ad-bf88-81e0560f48c9@googlegroups.com>
Message-ID <cff169cc-d481-4ded-ba90-43d0f5ecc05e@googlegroups.com> (permalink)
Subject Re: "Najbardziej imponujący kod, jaki widziałem"
From Maciej Sobczak <see.my.homepage@gmail.com>

Show all headers | View raw


> Czasem w radiu słyszę reklamy, że producent leku przeprowadził niezależne badania,

Ale ten producent wziął dane z niezależnego serwisu (Rosetta Code). Ty też możesz te dane stamtąd wziąć.

> Trochę też rozczarowuje brak APLa w ich rankingu

http://rosettacode.org/wiki/Category:Programming_Languages

Ja myślę, że tabelka by nie była czytelna, gdyby wszystkie języki tam uwzględnić.

> pewnie wyszłoby jeszcze krócej, niż Mathematica, i by się musieli tłumaczyć.

Gorzej. W tej dyskusji to LISP wyglądałby jeszcze biedniej.

> W każdym razie "krócej" nie zawsze znaczy "lepiej".

To prawda.

> > A dlaczego akurat do meta-programowania jest najlepsza?
> 
> Chyba dlatego, że ma najmniejszą możliwą liczbę reguł, dzięki czemu składnia jest jednocześnie formatem serializacji (i to lżejszym od np. JSONa)

Dokładnie to samo można napisać o Wolframie (to jest ta "LISPowatość"). Przykładowo, cały notebook, cokolwiek by nie miał, zapisany na dysku jest jednym legalnym wyrażeniem.

[Nothing]
> Na pewno do zrozumienia wymagała
> - znajomości funkcji "map"

Bo akurat chciałem, żeby przykład był w stylu funkcjonalnym. Nie musiał być i nie musiało tam być funkcji map.

> - wiedzy o osobliwym zachowaniu wartości "Nothing"

Bo właśnie to chciałem zaprezentować. Da się też bez tej wiedzy, czyli gorzej. Da się nawet tak samo źle, jak w Twoim przykładzie. Wolfram to bardzo uniwersalny język, może nawet udawać gorsze języki. :-)

> Łatwo jest zdefiniować "only" przy pomocy "append-map" (czy flatMap, czy concatMap, jak zwał tak zwał)
> 
> (define (only satisfying? elements)
>   (append-map (lambda (element)
>                  (if (satisfying? element)
>                      `(,element)
>                     '()))
>               elements))
> 
> Wygląda prawie tak samo, jak Twoja, tylko nie trzeba wymyślać "specjalnych elementów" o "magicznych właściwościach" i "niejasnym statusie ontycznym".

No jak nie. Ja tam widzę pustą listę gdy warunek nie jest spełniony. Skąd mam wiedzieć, że pusta lista jest ignorowana przez append-map? Przecież mogła być też dodana do wyniku.
A gdybym jednak chciał dodać pustą listę do wyniku?

W Wolframie pusta lista i Nothing to dwie różne sprawy.
Przykładowo:

only[condition_, list_] := Map[
  Function[x,
   If[condition[x], x, {}] (* tutaj jest {} zamiast Nothing *)
   ],
  list
  ]

only[EvenQ, {1, 2, 3, 4, 5, 6, 7}]

{{}, 2, {}, 4, {}, 6, {}}

Jest różnica, prawda? Jak tą różnicę uzyskać w Twoim przykładzie?

> Najwidoczniej dla mnie prostota jest ważniejsza od wygody (którą Ty tutaj nazywasz "użytecznością"), a dla Ciebie na odwrót.

Zgodziłbym się, gdyby Twoje przykłady były proste. Ale nie są.

[...]
> Zaprawieni programiści Lispa nazywają ten proces "rytuałem przejścia".

Rozumiem. Wspominałeś już to określenie, ale wcześniej nie zrozumiałem. Czyli "rytuał przejścia" to sytuacja, kiedy ktoś bez sukcesu próbuje usprawnić język i ostatecznie rezygnuje z tego, wracając do języka bez usprawnień.

A jest jakaś fajna nazwa na sytuację, kiedy ktoś bez sukcesu próbuje usprawnić język i ostatecznie rezygnuje z tego i zmienia język na lepszy?
Nie wiem - rytuał wyjścia? odejścia? rozejścia?
Musi być jakaś fajna nazwa.

> Być może sytuacja z Mathematiką ma się nieco inaczej, bo ona ma już wokół siebie stosunkowo dużą społeczność.

To pewnie ludzie po rytuale wyjścia z LISPa. :-D

W porównaniu do poprzednich postów, w których próbowałeś wykazać, że nikt z tego nie korzysta, zauważam pozytywną zmianę.

-- 
Maciej Sobczak * http://www.inspirel.com

Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

"Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-07-30 06:58 -0700
  Re: "Najbardziej imponujący kod, jaki widziałem" dantes <dantes@qmail.com> - 2019-07-31 11:34 +0200
    Re: "Najbardziej imponujący kod, jaki widziałem" Roman Tyczka <noemail@because.no> - 2019-07-31 12:32 +0200
      Re: "Najbardziej imponujący kod, jaki widziałem" Borneq <borneq@antyspam.hidden.p> - 2019-07-31 13:54 +0200
      Re: "Najbardziej imponujący kod, jaki widziałem" Bischoop <Bischoop@vimart.net> - 2021-09-23 23:11 +0000
  Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-07-31 05:59 -0700
    Re: "Najbardziej imponujący kod, jaki widziałem" Borneq <borneq@antyspam.hidden.p> - 2019-07-31 16:18 +0200
      Re: "Najbardziej imponujący kod, jaki widziałem" Borneq <borneq@antyspam.hidden.p> - 2019-07-31 16:36 +0200
      Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-01 04:47 -0700
    Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-07-31 10:03 -0700
      Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-01 05:26 -0700
        Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-01 07:29 -0700
          Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-02 01:32 -0700
            Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-02 05:10 -0700
              Re: "Najbardziej imponujący kod, jaki widziałem" AK <nobody@nowhere.net> - 2019-08-03 06:52 +0200
                Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-03 00:55 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" AK <nobody@nowhere.net> - 2019-08-08 00:44 +0200
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-08 00:06 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" AK <nobody@nowhere.net> - 2019-08-08 17:44 +0200
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-08 13:04 -0700
              Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-03 12:51 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-03 15:37 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-04 13:57 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-05 03:44 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Roman Tyczka <noemail@because.no> - 2019-08-05 14:35 +0200
                Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-05 05:58 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-05 13:29 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-06 01:55 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-06 13:57 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-07 00:39 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-07 01:09 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-07 02:10 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-07 05:02 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-07 07:43 -0700
                Re: "Najbardziej imponujący kod, jaki widziałem" Maciej Sobczak <see.my.homepage@gmail.com> - 2019-08-07 13:32 -0700
  Re: "Najbardziej imponujący kod, jaki widziałem" Borneq <borneq@antyspam.hidden.p> - 2019-08-06 15:31 +0200
    Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-06 06:45 -0700
      Re: "Najbardziej imponujący kod, jaki widziałem" Borneq <borneq@antyspam.hidden.p> - 2019-08-06 16:32 +0200
        Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-06 07:39 -0700
          Re: "Najbardziej imponujący kod, jaki widziałem" Borneq <borneq@antyspam.hidden.p> - 2019-08-06 16:57 +0200
            Re: "Najbardziej imponujący kod, jaki widziałem" godek.maciek@gmail.com - 2019-08-06 08:20 -0700
          Re: "Najbardziej imponujący kod, jaki widziałem" Borneq <borneq@antyspam.hidden.p> - 2019-08-06 17:01 +0200

csiph-web