-
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
Następne wpisy z tego wątku
- 09.10.17 18:12 fir
- 09.10.17 19:47 g...@g...com
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-30 Zniknął dźwięk na tylnym panelu
- 2024-04-30 Białystok => Inżynier DevOps (projekt JP) <=
- 2024-04-30 Kraków => Mid PHP Developer (Laravel) <=
- 2024-04-30 Katowice => Junior HelpDesk <=
- 2024-04-30 trzecia plec
- 2024-04-30 Katowice => Junior HelpDesk <=
- 2024-04-30 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-04-30 Białystok => Technical Leader (Java Background) <=
- 2024-04-30 Białystok => ERP Implementer <=
- 2024-04-30 Powerbank jednonapieciowy, a trzynapieciowy
- 2024-04-30 Który program do PIT-ów?
- 2024-04-30 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-04-30 Warszawa => Konsultant funkcjonalny systemu Oracle E-Business Suite R1
- 2024-04-30 Obajtek bez majtek
- 2024-04-29 Warszawa => Staż w dziale Sprzedaży B2B (2 miejsca) <=