-
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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- 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
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją