eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingOptymalizacja struktur danych dla programów funkcyjnych › Re: Optymalizacja struktur danych dla programów funkcyjnych
  • X-Received: by 10.31.49.200 with SMTP id x191mr487986vkx.19.1507551928523; Mon, 09
    Oct 2017 05:25:28 -0700 (PDT)
    X-Received: by 10.31.49.200 with SMTP id x191mr487986vkx.19.1507551928523; Mon, 09
    Oct 2017 05:25:28 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-medi
    a.com!news.highwinds-media.com!k31no313808qta.1!news-out.google.com!r5ni835qtc.
    1!nntp.google.com!z50no1278846qtj.0!postnews.google.com!glegroupsg2000goo.googl
    egroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 9 Oct 2017 05:25:28 -0700 (PDT)
    In-Reply-To: <0...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=194.9.244.37;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 194.9.244.37
    References: <c...@g...com>
    <4...@g...com>
    <b...@g...com>
    <d...@g...com>
    <f...@g...com>
    <b...@g...com>
    <1...@g...com>
    <4...@g...com>
    <5...@g...com>
    <e...@g...com>
    <5...@g...com>
    <b...@g...com>
    <a...@g...com>
    <e...@g...com>
    <f...@g...com>
    <d...@g...com>
    <c...@g...com>
    <c...@g...com>
    <0...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <6...@g...com>
    Subject: Re: Optymalizacja struktur danych dla programów funkcyjnych
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Mon, 09 Oct 2017 12:25:28 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Body-CRC: 2943775682
    X-Received-Bytes: 5390
    Xref: news-archive.icm.edu.pl pl.comp.programming:211591
    [ ukryj nagłówki ]

    > W artykule jest napisane:
    [...]

    Nadal mamy deterministyczne strategie. Zwłaszcza ta z tworzeniem wielu kopii i
    udawaniem, że jesteśmy w jednej z nich. Strategia ze zgadywaniem nie opisuje, na czym
    ma zgadywanie polegać. Na domniemanym współczesnym komputerze to zgadywanie będzie
    deterministyczne. Czyli wracamy do początku - a wynika to z tego, że kredą na tablicy
    można sobie różne rzeczy napisać, ale krzem nie wszystko przyjmie tak samo łatwo.

    > No nie. Podałem przykład programu, który w istotny
    > sposób bazuje na losowości -- i jego działanie jako
    > takie nie jest w istocie deterministyczne

    Bo sobie włączyłeś tą losowość w ramy działania programu. Dla mnie to jest zewnętrzne
    I/O.

    > Czyli Twoja argumentacja NIE ODNOSIŁA się do istoty
    > pojęcia,

    Co to jest "istota pojęcia"? Czy "istota programu" już nie wystarcza?

    > tylko do (chyba niezbyt dobrze zdefiniowanej?)
    > koncepcji "implementowalności pojęcia"

    Domniemując implementowalność na współczesnym komputerze, tak, pewne pojęcia mogą
    mieć lub nie mieć sensu.

    > My, jako ludzie, chcemy, żeby kompilacja była deterministyczna,
    > bo chcemy wiedzieć, czego możemy się spodziewać po kompilatorach.

    Chcemy, żeby efekty uboczne były takie, jak mówi definicja języka. Reszta nas zwykle
    nie interesuje i często nawet celowo jej nie dookreślamy. Np. mało kogo interesuje
    stan swapa na dysku po wykonaniu programu - ta niedookreśloność pozwala kompilatorom
    (czy ogólniej: systemowi uruchomieniowemu) na własną rękę podejmować różne decyzje.
    Kompilator nie musi być deterministyczny, żeby zapewnić użytkownikowi zgodność na
    poziomie sekwencji udokumentowanych efektów ubocznych.

    > Wydaje mi się, że jednak poprawność kompilatora jest dość dobrze
    > określona.

    Zwykle jest celowo niedookreślona.

    > to z perspektywy osób, które tworzą kompilatory, takie wymaganie
    > jest jak najbardziej na miejscu.

    Właśnie dla tych osób jest ważne, żeby użytkownicy pozostawili im swobodę w różnych
    obszarach. Dzięki temu te osoby mogą między sobą konkurować.

    > Ja ze swojej strony w ogóle nie wypowiadałem się o komputerach,
    > tylko o programach.

    Interesujące. Ale po co takiemu bezkomputerowemu programowi kompilator? Czy
    rozważania o deterministycznych kompilatorach dla programów bez komputerów nie są
    trochę... przeteoretyzowaniem problemu?

    --
    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: