-
X-Received: by 2002:ae9:ef48:: with SMTP id d69mr10100391qkg.313.1565209942904; Wed,
07 Aug 2019 13:32:22 -0700 (PDT)
X-Received: by 2002:ae9:ef48:: with SMTP id d69mr10100391qkg.313.1565209942904; Wed,
07 Aug 2019 13:32:22 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.
stu.neva.ru!b26no9856668qtq.0!news-out.google.com!e17ni2906qtg.1!nntp.google.co
m!b26no9856658qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-
for-mail
Newsgroups: pl.comp.programming
Date: Wed, 7 Aug 2019 13:32:22 -0700 (PDT)
In-Reply-To: <9...@g...com>
Complaints-To: g...@g...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: <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>
<0...@g...com>
<a...@g...com>
<9...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7...@g...com>
Subject: Re: "Najbardziej imponujący kod, jaki widziałem"
From: Maciej Sobczak <s...@g...com>
Injection-Date: Wed, 07 Aug 2019 20:32:23 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:213772
[ ukryj nagłówki ]> Całkowicie się nie zgadzam.
> Nigdy nie miałem w szkole wprowadzanego zapisu x^2.
No tak. Bo widzisz - w Mathematice ten zapis wygląda dokładnie tak jak w szkole.
Natomiast po skopiowaniu go do grup dyskusyjnych jest x^2, bo w okienku, gdzie pisze
tego posta, jest tylko taki font i nie ma superscriptu.
> Użycie symbolu ^ do wyrażenia potęgowania jest może uznane przez garstkę osób
piszących w raczej niszowych językach.
https://en.wikipedia.org/wiki/Exponentiation#In_prog
ramming_languages
MATLAB, Wolfram, R, Excel, Analytica, TeX, "most computer algebra systems".
"Garstka osób w niszowych językach", tak? Łomatko...
Sami użytkownicy Excela pewnie przykryliby liczebnie fanów wszystkich innych
zapisów... Pozostali to ludzie zajmujący się profesjonalnie inżynierią i matematyką.
Niech będzie, że to nieistotna garstka.
> No właśnie. Ile godzin spędziliśmy w szkole, przyzwyczajając się do tej notacji?
Nie ważne ile. Ważne, że to była inwestycja, na której można bezpiecznie budować.
Programiści nie startują od zera i zwykle są to ludzie z jakimś istniejącym już
fundamentem intelektualnym. No chyba że robimy język dla kosmitów, jak w filmach
sci-fi i zakładamy, że odbiorca nie kuma kompletnie nic.
> List comprehensions mają jednak pewną przewagę nad map. Przy pomocy map nie
napiszesz czegoś takiego:
>
> [(x, y, z) | x <- [1 .. 100], y <- [1 .. 100], z <- [1 .. 100], x^2+y^2==z^2]
To, że w Twoim ulubionym języku nie napiszę, to jest Twój problem a nie mój. :-)
Map[
Function[triple,
Apply[Function[{x, y, z}, If[x^2 + y^2 == z^2, {x, y, z}, Nothing]], triple]
],
Tuples[Range[100], 3]
]
Nieco dłużej, ale Ty osiągnąłeś limit swojego zapisu a moja mapa nawet się nie
rozgrzała.
W tym przypadku jednak nie użyłbym mapy, bo to jest system z ograniczeniami a nie
transformacja i od mapy lepszy jest filtr:
Cases[Tuples[Range[100], 3], {x_, y_, z_} /; x^2 + y^2 == z^2]
Nawet działa >2x szybciej. I tak bym to zostawił.
> A w przypadku człowieka dlaczego nie chcesz, żeby był jak najprostszy?
Bo polegam na tym, co człowiek już wie ze szkoły. To jest koszt, który już został
poniesiony, więc mogę z niego za darmo skorzystać.
> Zrobiłem ankietę na Twitterze. Jak do tej pory zagłosowały 32 osoby.
> Wygląda na to, że spośród nich zgadza się z Tobą dokładnie 0 osób.
Ale znasz tą teorię psychologiczną, że otaczamy się ludźmi, którzy potwierdzają nasze
poglądy (bo innych nie lubimy, więc nie chcemy ich mieć w kręgu znajomych)? Wiesz, co
by wyszło, gdyby Wolfram taką ankietę zrobił na swoim profilu?
> Cały czas nie znam kontekstu, w którym ta druga notacja z haszami i małpami byłaby
efektywniejsza.
Problem w tym (podobnie jak w wielu poprzednich tematach), że nie da się ustawić
obiektywnej granicy pomiędzy znaczkami rozsądnymi a nierozsądnymi. Od nawiasów, przez
podstawowe operatory, po strzałki po hasze i małpy. Dla Ciebie małpa jest
nieczytelna, dla kogoś innego nieczytelny będzie znak plusa.
Granica czytelności jest subiektywna i zależy od... kręgu znajomych.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 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
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=