eGospodarka.pl
eGospodarka.pl poleca

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

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: