-
Data: 2017-10-05 13:48:57
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=
- 2025-01-21 Warszawa => IT Assets Manager <=
- 2025-01-21 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2025-01-20 Białystok => Delphi Programmer <=
- 2025-01-20 Białystok => User Experience Designer <=
- 2025-01-20 Katowice => UX Designer <=
- 2025-01-20 Wrocław => Specjalista ds. Sprzedaży <=
- 2025-01-20 Białystok => Solution Architect (Java background) <=
- 2025-01-20 Szczecin => Senior Field Sales (system ERP) <=
- 2025-01-21 e-doręczenia
- 2025-01-20 Zbieranie podpisów przed sklepem