Michał Kuliński
2019-01-07 14:41

O prawdziwej mocy programowania funkcyjnego na przykładzie kodu gry w realiach świata Star Trek opowiada Robert "Wujek Bob" Martin. https://michalkulinski.blogsp[...]rzanie-list-pf-kontra-oo.html
#technologia #it #programowanie #programowaniefunkcyjne #clojure #startrek

siloam

@jarekr000000: I jeszcze tutaj i tutaj. Kod imperatywny łatwiej jednak przenosić na instrukcje procesora, co przyznają nawet twórcy Ocaml'a. > to inny styl kodowania i ma inne własności
Nie twierdzę, że nie. W 95% przypadków to lepszy styl, bo kod jest krótszy, bardziej przenośny i modułowy. Zostaje te 5%, gdy liczy się bardzo wysoka wydajność, ale kompilatory języków funkcyjnych są co raz lepsze, więc w przyszłości może nawet i to nie będzie problemem.

jarekr000000

@siloam: problemem jest to, że w językach typu Java i nawet Scala kompilator musi odpuścić dość dużo optymalizacji. Z różnych powodów. Miedzy innymi, dlatego że są by design imperatywne i np. kompilator nie może zrobić memoizacji, wywalić części zbędnych wyrażeń itd. Bo nie do końca wiadomo, gdzie są efekty uboczne. W ScaliJS zrobiono dość dużą optymalizację kodu wynikowego (głównie rozmiar) po prostej decyzji o wywaleniu runtime refleksji.