-
X-Received: by 10.31.153.200 with SMTP id b191mr267412vke.28.1507204138151; Thu, 05
Oct 2017 04:48:58 -0700 (PDT)
X-Received: by 10.31.153.200 with SMTP id b191mr267412vke.28.1507204138151; Thu, 05
Oct 2017 04:48:58 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.
iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!d13no12
86347qta.0!news-out.google.com!p42ni2707qtp.0!nntp.google.com!6no1105050qtw.1!p
ostnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 5 Oct 2017 04:48:57 -0700 (PDT)
In-Reply-To: <5...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=194.9.244.32;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 194.9.244.32
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b...@g...com>
Subject: Re: Optymalizacja struktur danych dla programów funkcyjnych
From: Maciej Sobczak <s...@g...com>
Injection-Date: Thu, 05 Oct 2017 11:48:58 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 60
Xref: news-archive.icm.edu.pl pl.comp.programming:211569
[ ukryj nagłówki ]> > Ale nie ustaliliśmy jeszcze, co to znaczy, że program jest czysto funkcyjny.
>
> Z tego co patrzę na historię tej rozmowy, ustaliliśmy to na dość
> wczesnym etapie.
Bez przesady. Nawet nie podałeś definicji, tylko przykład, z którym ja się nie
zgodziłem. To mi się nie kwalifikuje jako "ustaliliśmy".
> > Jeżeli istotą jest przetwarzanie wejścia na wyjście, to wszystkie programy w
istocie takie są. Natomiast jeśli jest nią generowanie efektów ubocznych, to też
wszystkie takie są.
>
> Otóż właśnie nie, na co również dawałem przykłady.
Bez wejścia program nie ma danych do przetwarzania (albo ma zawsze te same, co jest
nieciekawe), bez wyjścia nie ma wyników (co też jest nieciekawe), a bez efektów
ubocznych nie może się komunikować (co też jest nieciekawe). Nie podałeś żadnego
przykładu, który by się z tych reguł wyłamywał.
Ogólnie, oodwoływanie się do takich pojęć jak "istota czegoś" jest trochę...
nieinżynierskie.
> Problem polega na tym, że mylisz w tej chwili istotę programu
No i znowu ta istota. Z ciekawości wpisałem w wyszukiwarkę i... nic. Ani w wikipedii,
ani nigdzie indziej. Po angielsku to pewnie "the essence of the program" i... znowu
nic.
Skoro to pojęcie nigdzie nie jest zdefiniowane i nikt go w branży nie używa, to chyba
nie świadczy o mnie bardzo źle, że *nadal* nie rozumiem, o co konkretnie chodzi?
> Owszem, każdy program można analizować przy pomocy pojęcia funkcji,
> albo przy pomocy pojęcia maszyny stanu, albo czegoś jeszcze innego.
Tak. Dlatego pojęcie "czysto funkcyjny" nie ma sensu.
> Projektanci kompilatorów muszą zwracać
> uwagę na zupełnie inne rzeczy, niż projektanci gier komputerowych albo
> stron internetowych, po w pierwszym przypadku kluczowy jest wynik, a w
> pozostałych -- interakcja.
Tak, i stosuje się różne metody do optymalizacji tych różnych celów. Ale nic nie jest
"czyste", bo bez interakcji nie da się pobrać danych ani podać wyników a bez wyniku
interakcja jest bezcelowa - a przez proste zmiany w formacie i sposobie uruchomienia
można zmienić jeden rodzaj programu w drugi. I o braku tej "czystości" właśnie tu
piszę.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 05.10.17 18:58 g...@g...com
- 06.10.17 14:01 Maciej Sobczak
- 06.10.17 19:59 g...@g...com
- 07.10.17 23:22 Maciej Sobczak
- 08.10.17 10:47 g...@g...com
- 08.10.17 23:30 Maciej Sobczak
- 09.10.17 07:58 g...@g...com
- 09.10.17 14:25 Maciej Sobczak
- 09.10.17 18:12 fir
- 09.10.17 19:47 g...@g...com
Najnowsze wątki z tej grupy
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
Najnowsze wątki
- 2025-05-23 CGNAT i ewentualne problemy
- 2025-05-23 W ramach pezerokracji tworzymy nowy rejestr
- 2025-05-22 Department of Government Efficiency Europe, EU is made of Elon Tesla
- 2025-05-22 Department of Government Efficiency Europe, EU is made of Elon Tesla
- 2025-05-22 podpalacz
- 2025-05-22 Modlinska
- 2025-05-22 Warszawa => Support Engineer <=
- 2025-05-22 Warszawa => Support Engineer <=
- 2025-05-22 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-05-22 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-05-22 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-05-22 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-05-22 Warszawa => Presales - Inżynier Wsparcia Technicznego IT <=
- 2025-05-22 Gdańsk => Delphi Programmer <=
- 2025-05-22 Lublin => JavaScript / Node / Fullstack Developer <=