🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215801

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

#215801
From: Maciej Sobczak
Date: Sun, 04 Aug 2019 20:57
47 lines
5100 bytes
> Nawet zerknąłem z ciekawości.
> Tak konkretniej to zerknąłem tutaj:
> https://rosettacode.org/wiki/Levenshtein_distance
[...]
> Czyli autorzy "rozwiązania" w Mathematice nie dostarczyli implementacji odległości Levenshteina, tylko skorzystali z wbudowanej. Wygląda zatem na to, że nawet nie zrozumieli reguł zabawy.

Niekoniecznie. Bo jeśli reguły zabawy były takie, żeby nie używać istniejących ficzerów, tylko biczować się na jak najniższym poziomie, to akurat pokazana przez Ciebie wersja w Haskellu też tego nie spełnia. foldl, scanl, zip3, minimum, print, itd. - naprawdę, autorzy nie zrozumieli reguł, powinni to wszystko napisać od zera.

Zaletą Wolframa jest właśnie te 5000+ funkcji, które od ręki coś robią. A ponieważ Wolfram jest LISPowaty, to nie da się wyraźnie oddzielić funkcji "podstawowych" od "bibliotecznych", bo wszystkie mają takie same prawa i nie ma żadnej niezbędnej.

> Przy takiej interpretacji rzeczywiście trudno się dziwić, że w Mathematice wychodzą najkrótsze implementacje.

Problem w tym, że przy innej interpretacji mogłoby się okazać, że w wielu językach w ogóle nie dałoby się wielu rzeczy napisać, bo większość języków bez swojej biblioteki standardowej nie potrafi zrobić nawet Hello World.
Więc skoro reguły są takie, że bierzemy język *razem* z jego biblioteką standardową, to niestety w Wolframie ten konkretny przykładowy problem rozwiązuje się jednym wywołaniem odpowiedniej funkcji.

To trochę jakbyś chciał wymyślić takie reguły gry w piłkę, żeby Lewandowski nie mógł strzelić gola i żebyś wtedy mógł z nim wygrać. Sorry, ale przy normalnych, uczciwych regułach, Lewandowski wygrywa.

(nie żebym się znał na piłce i kto tam teraz rulez, ale mam nadzieję, że analogia jest zrozumiała)

> > A gdybym jednak chciał dodać pustą listę do wyniku?
> 
> To zamiast '() napisałbyś '(())

Ale czad. Prawie zaczynam pamiętać te wszystkie specjalne szczególiki. Bo sorry, ale nadal tutaj jest specjalne traktowanie listy.

> (Nie ukrywam jednak, że zdziwiłbym się, gdyby się okazało, że jakiś znaczący odsetek użytkowników Mathematiki miał wcześniej głębszy kontakt z Lispem)

Bardzo nieudolnie ukrywasz swoje poczucie wyższości nad resztą świata.

Otóż Wolfram sam twierdzi, że:

https://www.wolfram.com/language/faq/

"LISP and APL were two early influences"

https://blog.stephenwolfram.com/2013/06/there-was-a-time-before-mathematica/

"I had a pretty broad knowledge of other computer languages of the time, both the “ordinary” ALGOL-like procedural ones, and ones like LISP and APL."

I większy wywód tutaj, z wczesnej dokumentacji:

https://reference.wolfram.com/legacy/v1/contents/4.2.7.pdf

Przypuszczam, że takie doświadczenia dotyczą również jakiejś części użytkowników. Ile jest takich przypadków - nie wiem, ale biorąc pod uwagę, że w środowisku uczelnianym LISP jest silnie reprezentowany i wiele narzędzi związanych z matematyką było swego czasu napisanych w LISPie, to spodziewam się, że świadomość LISPa wśród użytkowników Wolframa jest co najmniej zauważalna.

-- 
Maciej Sobczak
Technical Details
Message-ID: <10218256-a88b-4be5-9815-723d2b757225@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!b26no1420310qtq.0!news-out.google.com!a5ni1174qtd.0!nntp.google.com!b26no1420305qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <edc55064-0038-4844-a994-4cddd7d77d76@googlegroups.com> <11e4b1d7-2d97-48ac-8a3d-9172df46bf0b@googlegroups.com> <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> <cff169cc-d481-4ded-ba90-43d0f5ecc05e@googlegroups.com> <b9c338d3-c80c-4b42-99ff-da12417126b7@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:6214:601:: with SMTP id z1mr10231971qvw.197.1564952228716;        Sun, 04 Aug 2019 13:57:08 -0700 (PDT)
X-Received: by 2002:a37:7a84:: with SMTP id v126mr17344348qkc.439.1564952228542; Sun, 04 Aug 2019 13:57:08 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!b26no1420310qtq.0!news-out.google.com!a5ni1174qtd.0!nntp.google.com!b26no1420305qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 4 Aug 2019 13:57:08 -0700 (PDT)
In-Reply-To: <b9c338d3-c80c-4b42-99ff-da12417126b7@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.108.152.51; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <edc55064-0038-4844-a994-4cddd7d77d76@googlegroups.com> <11e4b1d7-2d97-48ac-8a3d-9172df46bf0b@googlegroups.com> <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> <cff169cc-d481-4ded-ba90-43d0f5ecc05e@googlegroups.com> <b9c338d3-c80c-4b42-99ff-da12417126b7@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <10218256-a88b-4be5-9815-723d2b757225@googlegroups.com>
Subject: Re: "Najbardziej imponujący kod, jaki
 widziałem"
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Sun, 04 Aug 2019 20:57:08 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit