Czy istnieje kanoniczny samouczek lub książka na temat koncepcji programowania funkcjonalnego? [Zamknięte]

22

Pochodząc z programowania proceduralnego / OO, zwykle piszę programy schematyczne w sposób proceduralny. Byłbym zainteresowany nauką Scheme lub Lisp w funkcjonalny sposób od podstaw, aby zresetować umysł mojego programisty.

Czy istnieje samouczek lub książka, która jest de facto standardem opisującym najlepsze praktyki, metody projektowania i inne pomocne informacje na temat koncepcji programowania funkcjonalnego? Co z tą książką czyni ją wyjątkową?

Federico klez Culloca
źródło
Zacznę od ccs.neu.edu/home/matthias/BTLS Programowanie funkcjonalne bardziej przypomina czystą matematykę niż programowanie OO. Jeśli pomyślisz o tym w ten sposób, może to pomóc.
Brian Makin,
Jeśli wolisz słuchać niż czytać, SICP ma również wykłady wideo . Jestem teraz na wykładzie 6b. :)
Dysaster
Sprawdź Land of Lisp i wykonaj wszystkie ćwiczenia.
Sardathrion - Przywróć Monikę

Odpowiedzi:

14

Użyj tego.

Jeśli codziennie wykonujesz programowanie funkcjonalne, być może mniejsze aplikacje lub ćwiczenia z książek, będziesz na tym lepszy.

Korzystam z niego od pierwszego wykładu programistycznego na uniwersytecie. Na początku było to bardzo trudne, ponieważ jest tak różne, ale teraz wolę to od programowania imperatywnego.

Jeśli szukasz dobrej książki, poleciłbym programowanie funkcyjne Real World: z przykładami w języku F # i C # autorstwa Tomasa Petricka i Jona Skeeta

Jonas
źródło
1
Książkę można również sprawdzić tutaj
Gulshan
11

Książka, którą zawsze uważam za zalecaną, gdy mówię o Scheme lub Lisp, to Struktura i interpretacja programów komputerowych . Jest darmowo dostępny na tej stronie i myślę, że jest dostarczony jako plik PDF, jeśli szukasz.

Chciałem przez to przejść, ale nie jestem pewien, kiedy będę miał czas. Nie mogę jednak komentować, jak dobra jest ta książka. Ale jest polecany przez wiele osób, więc zgaduję, że jest całkiem dobry.

Jeśli interesują Cię inne funkcjonalne języki programowania, powiedziano mi, że ćwiczenie w językach takich jak Haskell lub F # jest raczej łatwe. Myślę, że jest też bloger, który pracuje przez SICP za pomocą Haskella i publikuje swoje rozwiązania w ćwiczeniach, ale nie mogę teraz znaleźć linku.

Thomas Owens
źródło
Kim jest Bill the Lizard billthelizard.com za 500, proszę. Chociaż myślę, że używa schematu.
Brian R. Bondy,
Tak, zgodziłbym się, że SICP jest doskonałą książką do nauki FP w programie. Jeśli nie jesteś żonaty ze Scheme, ale zastanawiasz się nad nauką Haskell, to Real World Haskell też jest świetną lekturą.
Magnus,
+1 dla SICP. Pracowałem nad tym przez część z Clojure, tak długo, jak jesteś gotów zrobić trochę gimnastyki umysłowej, myślę, że to zadziałałoby dla każdego języka podobnego do Lisp lub języka funkcjonalnego.
mikera
2
Istnieje również How to Design Programs , który został specjalnie zaprojektowany w celu usunięcia pewnych niedociągnięć w SICP, które zostały przedstawione w bardzo przystępnym i sprytnie zatytułowanym artykule Struktura i interpretacja programu nauczania informatyki .
Jörg W Mittag,
-2

Spróbuj nauczyć się matematyki i dostosuj się do jej stylu. Jakie są funkcje? Co to jest zmienna? W jaki sposób zmienne różnią się od stałych, a jak nie?

Antsan
źródło
To tak naprawdę nie odpowiada na pytanie, a raczej o to, gdzie znaleźć odpowiedzi na zadawane pytania.
Matthieu,