Gibt es ein kanonisches Tutorial oder ein Buch über funktionale Programmierkonzepte? [geschlossen]

22

Ich habe einen prozeduralen / OO-Programmierhintergrund und neige dazu, Scheme-Programme prozedural zu schreiben. Ich wäre daran interessiert, Scheme oder Lisp von Grund auf funktional zu lernen, um den Verstand meines Programmierers zurückzusetzen.

Gibt es ein Tutorial oder ein Buch, das de facto als Standard für die Beschreibung von Best Practices, Entwurfsmethoden und anderen hilfreichen Informationen zu Konzepten der funktionalen Programmierung gilt? Was macht dieses Buch so besonders?

Federico Klez Culloca
quelle
Ich würde mit ccs.neu.edu/home/matthias/BTLS beginnen. Funktionale Programmierung ist eher reine Mathematik als OO-Programmierung. Wenn Sie es so sehen, kann es helfen.
Brian Makin
Wenn Sie lieber lesen möchten , bietet SICP auch Videovorträge an . Ich bin jetzt in Vorlesung 6b. :)
Dysaster
Schauen Sie sich Land of Lisp an und machen Sie alle Übungen.
Sardathrion

Antworten:

14

Benutze es.

Wenn Sie täglich Funktionen programmieren, vielleicht kleinere Anwendungen oder Übungen aus Büchern, sind Sie besser darin.

Ich habe es seit der ersten Programmiervorlesung an der Universität benutzt. Am Anfang war es sehr schwer, weil es so anders ist, aber jetzt ziehe ich es der imperativen Programmierung vor.

Wenn Sie nach einem guten Buch suchen, würde ich Real World Functional Programming empfehlen : Mit Beispielen in F # und C # von Tomas Petricek und Jon Skeet

Jonas
quelle
1
Das Buch kann hier auch eingesehen werden
Gulshan
11

Das Buch, das ich immer empfehle, wenn es um Scheme oder Lisp geht, ist Die Struktur und Interpretation von Computerprogrammen . Es ist auf dieser Website frei verfügbar, und ich denke, es wird als PDF zur Verfügung gestellt, wenn Sie sich umschauen.

Ich wollte es durcharbeiten, bin mir aber nicht sicher, wann ich die Zeit dazu bekomme. Ich kann jedoch nicht beurteilen, wie gut das Buch tatsächlich ist. Aber es wurde von mehreren Leuten empfohlen, also denke ich, dass es ziemlich gut ist.

Wenn Sie sich für andere funktionale Programmiersprachen interessieren, wurde mir gesagt, dass es ziemlich einfach ist, die Übungen in Sprachen wie Haskell oder F # zu machen. Ich glaube, es gibt auch einen Blogger, der mit Haskell über SICP arbeitet und seine Lösungen zu den Übungen veröffentlicht, aber ich kann den Link derzeit nicht finden.

Thomas Owens
quelle
Wer ist Bill the Lizard billthelizard.com für 500 bitte. Obwohl ich denke, dass er Schema verwendet.
Brian R. Bondy
Ja, ich stimme zu, dass SICP ein ausgezeichnetes Buch ist, um FP in Scheme zu lernen. Wenn Sie nicht mit Scheme verheiratet sind, aber Haskell lernen möchten, ist Real World Haskell auch eine ausgezeichnete Lektüre.
Magnus
+1 für SICP. Ich habe Teile davon mit Clojure durchgearbeitet, solange Sie bereit sind, ein bisschen mental zu turnen. Ich denke, es würde für jede Lisp-ähnliche oder funktionale Sprache funktionieren.
Mikera
2
Es gibt auch " How to Design" -Programme, die speziell entwickelt wurden, um einige Unzulänglichkeiten in der SICP zu beheben, die in dem sehr aufgeschlossenen und geschickt betitelten Artikel " Die Struktur und Interpretation des Informatik-Lehrplans" beschrieben werden .
Jörg W Mittag
-2

Versuchen Sie, etwas Mathe zu lernen und sich an seinen Stil anzupassen. Was sind Funktionen? Was ist eine Variable? Wie unterscheiden sich Variablen von Konstanten und wie nicht?

Antsan
quelle
Damit ist die Frage nicht wirklich beantwortet, sondern es geht eher darum, wo Antworten auf die von Ihnen gestellten Fragen zu finden sind.
Matthieu