-
X-Received: by 2002:aed:3fb0:: with SMTP id s45mr7159489qth.136.1565169046171; Wed,
07 Aug 2019 02:10:46 -0700 (PDT)
X-Received: by 2002:aed:3fb0:: with SMTP id s45mr7159489qth.136.1565169046171; Wed,
07 Aug 2019 02:10:46 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!news.albasani.net!newsreader4.netcologne.de!news.netcolog
ne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwi
nds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!b
26no8425685qtq.0!news-out.google.com!y1ni78qtn.0!nntp.google.com!b26no8425680qt
q.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 7 Aug 2019 02:10:45 -0700 (PDT)
In-Reply-To: <c...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.68.153;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
References: <e...@g...com>
<1...@g...com>
<c...@g...com>
<0...@g...com>
<b...@g...com>
<d...@g...com>
<2...@g...com>
<c...@g...com>
<b...@g...com>
<1...@g...com>
<a...@g...com>
<e...@g...com>
<c...@g...com>
<8...@g...com>
<6...@g...com>
<c...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0...@g...com>
Subject: Re: "Najbardziej imponujący kod, jaki widziałem"
From: g...@g...com
Injection-Date: Wed, 07 Aug 2019 09:10:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4626
X-Received-Body-CRC: 1435283488
Xref: news-archive.icm.edu.pl pl.comp.programming:213766
[ ukryj nagłówki ]W dniu środa, 7 sierpnia 2019 10:09:10 UTC+2 użytkownik Maciej Sobczak napisał:
> > Czyli idomatyczny zapis zawierający lambdę i mapowanie, np.:
> >
> > #^2& /@ {1,2,3,4}
> >
> > jest równoważny:
> >
> > Map[Function[x, x^2], {1,2,3,4}]
>
> Przepraszam, to jeszcze nie pokazuje istoty zagadnienia. Można jeszcze bardziej
purystycznie (prościej?):
>
> Map[Function[x, Power[x,2]], List[1,2,3,4]]
>
> Czy ta wersja jest czytelniejsza? To zależy, kto czyta.
To jest problem z pojęciem czytelności, że jest niedookreślone.
Ale ta wersja korzysta z mniejszej ilości reguł, które "czysty umysł" potencjalnego
czytelnika musi sobie przyswoić, żeby móc ją zrozumieć.
I to akurat nie zależy od tego, kto czyta.
(No, chyba że ktoś by twierdził, że ludzie od razu się rodzą ze zdolnością do
parsowania zapisu #^2& jako funkcji anonimowej. Ale np. moje osobiste doświadczenie
falsyfikuje owo twierdzenie)
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}]
> Na pewno dla automatu jest najlepsza (i wewnętrznie tak właśnie widać wszystkie
wyrażenia, więc metaprogramowanie i przetwarzanie symboliczne odbywa się na takim
poziomie), ale człowiek potrafi korzystać ze skrótów.
Automat też potrafi korzystać ze skrótów. Automatowi naprawdę jest wszystko jedno.
Automat zrobi wszystko, do czego go zaprogramujesz.
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.
Moim zdaniem nie. Zdaniem Wolframa (i Twoim chyba także) najwidoczniej tak.
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ę (na tyle skomplikowaną, że sami jego twórcy sobie z nim nie radzą)
Następne wpisy z tego wątku
- 07.08.19 14:02 Maciej Sobczak
- 07.08.19 16:43 g...@g...com
- 07.08.19 22:32 Maciej Sobczak
- 08.08.19 00:44 AK
- 08.08.19 09:06 Maciej Sobczak
- 08.08.19 17:44 AK
- 08.08.19 22:04 Maciej Sobczak
- 24.09.21 01:11 Bischoop
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław