eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming"Najbardziej imponujący kod, jaki widziałem" › Re: "Najbardziej imponujący kod, jaki widziałem"
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: