-
Data: 2019-08-07 14:02:28
Temat: Re: "Najbardziej imponujący kod, jaki widziałem"
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > 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
Następne wpisy z tego wątku
- 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
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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??
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=