jak przejść na wyższy poziom programowania funkcjonalnego [zamknięty]

12

najpierw przepraszam, jeśli to nie jest właściwe miejsce na to pytanie, ale myślę, że th.CS nie jest właściwym miejscem na pewno nie jest też StackOverflow.

Bardzo lubię programowanie funkcjonalne i myślę, że jestem facetem średniego poziomu na F # i dość dobrze rozumiem podstawowe pojęcia Haskell - i tak, myślę, że wiem / upadłem, jakbym wiedział, czym jest Monada.

Teraz naprawdę chcę przenieść to na wyższy poziom i chcę zrozumieć, o co chodzi w tej rozmowie na temat funktorów i innych rzeczy. Po prostu nie wiem od czego zacząć.

Przeczytaj coś o rachunku Lambda Calculus? Teoria kategorii? Obie wiem trochę i nie sądzę, że jest to właściwy / najszybszy sposób na oświecenie.

Może możesz mi dać kilka wskazówek na ten temat.

PS: Nie boję się matematyki i nie denerwuję się łatwo ćwiczeniami, ale wolałbym wprowadzenie / teksty, w których można odłożyć kod, ponieważ w ten sposób otrzymujesz informacje zwrotne od razu.

Carsten
źródło

Odpowiedzi:

6

F # to dobry początek, powinieneś iść z Haskellem i zdecydowanie przeczytać o rachunku lambda i przeczytać wyżej wspomniane dokumenty Lambda .

Używanie języka hybrydowego (Clojure, Scala, OCaml, ...) może pomóc w jego opanowaniu, jeśli pochodzisz z OO, ale myślę, że jeśli naprawdę chcesz zrozumieć funkcjonalne nastawienie programistyczne, powinieneś raczej wybrać prawdziwe (Haskell, Lisp, ...).

Haylem
źródło
dzięki - oczywiście będę trzymać się F # (mogę użyć tego w kodzie produkcyjnym ...) i spróbuję dowiedzieć się więcej haskell - ale jest to trudniejsze, ponieważ trudno mi robić inne rzeczy niż aplikacje konsolowe w haskell (jeszcze). - Schemat może być fajny (raz miał krótki odcinek w Lisp), ale OCaml jest prawie taki sam jak F # (myślę)
Carsten
@ CarstenKönig: Istnieje wiele bardzo interesujących projektów, które można wykonać bez martwienia się o interfejs użytkownika. Świetną opcją jest praca nad językiem programowania: pisanie prostego interpretera schematów lub prologów w Haskell jest niesamowitym ćwiczeniem i żyje szczęśliwie w linii poleceń.
Tikhon Jelvis
4

Polecam przeczytanie tych trzech książek, jeśli czas jest luksusem:

Te trzy książki wzbogacą twoje rozumienie programowania funkcjonalnego w ogóle.

Chiron
źródło
Czas w bankomacie nie stanowi problemu - i tak zajmie mi trochę czasu, jeśli i tak znajdę energię wieczorem ... może być wolny, ale normalnie jestem w stanie dużo czytać. Oczywiście z tego rodzaju książkami moje tempo zwolni do pełzania ... dzięki (niestety ostatni wydaje się wyczerpany ... nie mogę znieść czytania z ekranu)
Carsten