-
Data: 2019-08-07 16:43:35
Temat: Re: "Najbardziej imponujący kod, jaki widziałem"
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 7 sierpnia 2019 14:02:30 UTC+2 użytkownik Maciej Sobczak napisał:
> > > 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
Całkowicie się nie zgadzam.
Nigdy nie miałem w szkole wprowadzanego zapisu x^2.
W języku C ^ oznacza operację xor.
W Pythonie (i zdaje się że FORTRANie też) do potęgowania używa się operatora **.
Użycie symbolu ^ do wyrażenia potęgowania jest może uznane przez garstkę osób
piszących w raczej niszowych językach.
> pomimo tego, że "korzysta z mniejszej ilości reguł". Podobnie jest z nawiasami, czy
w ogóle z operatorami.
No właśnie. Ile godzin spędziliśmy w szkole, przyzwyczajając się do tej notacji?
> Dlatego też to:
>
> a*x^2 + b*x + c
>
> jest czytelniejsze, niż to:
>
> Plus[c, Times[b, x], Times[a, Power[x, 2]]]
Tzn. chyba chciałeś powiedzieć, że Tobie wydaje się czytelniejsze, a nie "jest
czytelniejsze", bo to ostatnie określenie nawet nie do końca wiadomo, co znaczy.
> W pewnej optymalnej ilości skróty są więc czytelniejsze i naturalniejsze.
Może raczej "w pewnych bardzo szczególnych okolicznościach".
W innych np. [a, b, c] będzie lepszą reprezentacją wielomianu, który powyżej
zapisałeś.
Zresztą notacja matematyczna ma to do siebie, że jest zoptymalizowana względem dość
specyficznego celu, mianowicie łatwości manipulacji formułami na papierze albo
tablicy. Łatwiej jest zapisać "x", bo to tylko dwa ruchy ręką, niż, dajmy na to,
"ilość" (czy cokolwiek chcemy wyrazić przy pomocy tej liczby)
> > 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.
Tak samo jak /@ jest nadmiarową notacją.
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]
> > 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.
A w przypadku człowieka dlaczego nie chcesz, żeby był jak najprostszy?
> > 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.
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.
https://twitter.com/PaniczGodek/status/1159029909672
603648
> > 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. :-)
Cały czas nie znam kontekstu, w którym ta druga notacja z haszami i małpami byłaby
efektywniejsza.
Następne wpisy z tego wątku
- 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
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 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
Najnowsze wątki
- 2026-01-17 Warszawa => Data Developer <=
- 2026-01-17 pozwy przeciwko OpenAI związane z samobójstwami
- 2026-01-16 I kolejny jebniety 2
- 2026-01-16 Ziobro decyzja o areszcie - Odroczenie 2: Uzasadnienie wniosku o wyłączenie sędziego
- 2026-01-16 Żywica żółknie od UV i wody :(
- 2026-01-16 Weryfikacja wieku w fb
- 2026-01-16 elektryczny pozar
- 2026-01-15 Zawory termostatyczne
- 2026-01-15 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-15 Proces KARNY Braunowi (KPP) POLITYCZNIE służy? [+0.7% miesięcznie 2 razy]
- 2026-01-15 Białystok => Frontend Developer React <=
- 2026-01-15 Konto na zdalnym NAS - jak zabezpieczyc pliki?
- 2026-01-15 Myślenice => Junior SAP CO Consultant <=
- 2026-01-15 Wyjaśnienie patologii opisanej w art. pt. "Przeciw bezkarności biznesu"
- 2026-01-15 Wyjaśnienie patologii opisanej w art. pt. "Przeciw bezkarności biznesu"




Fakturzystka, fakturzysta