-
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
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2024-12-12 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-12 Ostrów Wielkopolski => Trener zespołu sprzedaży Call Center <=
- 2024-12-12 Kraków => Key Account Manager <=
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=