🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215811

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

#215811
From: Maciej Sobczak
Date: Wed, 07 Aug 2019 12:02
40 lines
4870 bytes
> > Map[Function[x, Power[x,2]], List[1,2,3,4]]
> 
> Ale ta wersja korzysta z mniejszej ilości reguł, które "czysty umysł" potencjalnego czytelnika musi sobie przyswoić, żeby móc ją zrozumieć.

Bez przesady. W odróżnieniu od komputerów, człowiek nie musi "zarządzać" regułami, które zna. W szczególności znaczkologia, którą zna nawet ze szkoły podstawowej jest znacznie bardziej skomplikowana - dlatego dla większości ludzi zapis x^2 jest od razu czytelny, podczas gdy Power[x,2] budzi podejrzenia o jakiś podstęp, pomimo tego, że "korzysta z mniejszej ilości reguł". Podobnie jest z nawiasami, czy w ogóle z operatorami.
Dlatego też to:

a*x^2 + b*x + c

jest czytelniejsze, niż to:

Plus[c, Times[b, x], Times[a, Power[x, 2]]]

W pewnej optymalnej ilości skróty są więc czytelniejsze i naturalniejsze.

> Być może użycie "list comprehensions" byłoby dla różnych osób czytelniejsze, tzn. coś jak
> 
> [x^2 | x <- {1,2,3,4}]

Żaden postęp w stosunku do zwykłego mapowania. To jest nadmiarowa notacja. Jeśli dla kogoś czytelna, fajnie, ale posługując się Twoim własnym argumentem, wymaga znajomości większej liczby reguł. I ma bardzo ograniczone zastosowania.

> Automat też potrafi korzystać ze skrótów. Automatowi naprawdę jest wszystko jedno. Automat zrobi wszystko, do czego go zaprogramujesz.

Ale właśnie w przypadku automatu ja chcę, żeby był jak najprostszy. Bo wtedy spędze mniej czasu na jego programowaniu.

> Moje pytanie jest takie, czy ta pierwsza wersja rzeczywiście ma jakąś znaczącą przewagę nad tą ostatnią - na tyle znaczącą, żeby uzasadniała komplikowanie reguł dotyczących notacji.

Tak. Jest prostsza dla tych, co znają znaczki. Dokładnie tak samo, jak z wielomianem kwadratowym ze szkoły z powyższego przykładu.

> Moim zdaniem nie. Zdaniem Wolframa (i Twoim chyba także) najwidoczniej tak.

Błąd. Ja korzystam z *obu* wersji. Zależnie od tego, która jest w danym kontekście bardziej efektywna.
Znaczy - w każdym kontekście moja efektywność może być optymalna. :-)

> Piszesz powyżej, że "interpunkcja w Wolframie nie jest bardziej skomplikowana, niż w C++", ale ze znanych mi języków C++ ma niewątpliwie najbardziej skomplikowaną składnię

Więc wiem, że będzie łatwiej. :-P

-- 
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID: <a334c5de-7d3d-431e-8912-fe5dad2021ce@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news-1.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!b26no8759735qtq.0!news-out.google.com!e17ni2855qtg.1!nntp.google.com!b26no8759729qtq.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> <10218256-a88b-4be5-9815-723d2b757225@googlegroups.com> <ae20996a-1fd5-44dc-a39e-e627c633cc06@googlegroups.com> <e8792740-b3b1-48c6-917f-1dfb1fe8bab1@googlegroups.com> <c4e3147c-61af-4b8b-86f2-9e367e44b228@googlegroups.com> <82173aaf-ab06-498e-babc-9eb734bba184@googlegroups.com> <6dfc0a33-10bc-4915-836a-4bf4e57cd88f@googlegroups.com> <c093e8b7-c3c6-40c6-bc96-026e7e8f831c@googlegroups.com> <0468ff6e-bb49-412f-8dd1-3773a7a4283c@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:f410:: with SMTP id h16mr7457170qvl.95.1565179349055;        Wed, 07 Aug 2019 05:02:29 -0700 (PDT)
X-Received: by 2002:ae9:f016:: with SMTP id l22mr7901649qkg.51.1565179348888; Wed, 07 Aug 2019 05:02:28 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news-1.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!b26no8759735qtq.0!news-out.google.com!e17ni2855qtg.1!nntp.google.com!b26no8759729qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 7 Aug 2019 05:02:28 -0700 (PDT)
In-Reply-To: <0468ff6e-bb49-412f-8dd1-3773a7a4283c@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.70; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.84.70
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> <10218256-a88b-4be5-9815-723d2b757225@googlegroups.com> <ae20996a-1fd5-44dc-a39e-e627c633cc06@googlegroups.com> <e8792740-b3b1-48c6-917f-1dfb1fe8bab1@googlegroups.com> <c4e3147c-61af-4b8b-86f2-9e367e44b228@googlegroups.com> <82173aaf-ab06-498e-babc-9eb734bba184@googlegroups.com> <6dfc0a33-10bc-4915-836a-4bf4e57cd88f@googlegroups.com> <c093e8b7-c3c6-40c6-bc96-026e7e8f831c@googlegroups.com> <0468ff6e-bb49-412f-8dd1-3773a7a4283c@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a334c5de-7d3d-431e-8912-fe5dad2021ce@googlegroups.com>
Subject: Re: "Najbardziej imponujący kod, jaki
 widziałem"
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Wed, 07 Aug 2019 12:02:29 +0000
X-Received-Bytes: 5215
X-Received-Body-CRC: 363644614
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit