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:f016:: with SMTP id l22mr7901649qkg.51.1565179348888; Wed, 07
    Aug 2019 05:02:28 -0700 (PDT)
    X-Received: by 2002:ae9:f016:: with SMTP id l22mr7901649qkg.51.1565179348888; Wed, 07
    Aug 2019 05:02:28 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news-1.dfn.de!n
    ews.dfn.de!news.uni-stuttgart.de!news.unit0.net!newsreader4.netcologne.de!news.
    netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am
    4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-med
    ia.com!b26no8759735qtq.0!news-out.google.com!e17ni2855qtg.1!nntp.google.com!b26
    no8759729qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-m
    ail
    Newsgroups: pl.comp.programming
    Date: Wed, 7 Aug 2019 05:02:28 -0700 (PDT)
    In-Reply-To: <0...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.70;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 165.225.84.70
    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>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <a...@g...com>
    Subject: Re: "Najbardziej imponujący kod, jaki widziałem"
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Wed, 07 Aug 2019 12:02:29 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 5215
    X-Received-Body-CRC: 363644614
    Xref: news-archive.icm.edu.pl pl.comp.programming:213767
    [ ukryj 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

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: