Libro accessibile sulla programmazione funzionale [chiuso]

16

Sto cercando un libro che spieghi la programmazione funzionale in modo accessibile. Anche io preferirei uno che non sia troppo noioso, e non usi un linguaggio esoterico.

Idealmente userà esempi che dimostrano situazioni in cui la programmazione funzionale porta a soluzioni più eleganti o più semplici di approcci imperativi.

Ho una discreta quantità di esperienza di programmazione, ma non conosco la programmazione funzionale. Grazie per eventuali suggerimenti

    
posta Antonio2011a 15.07.2011 - 04:06
fonte

7 risposte

13

Sarei più carino iniziando con " The Little Schemer " (e forse " The Reasoned Schemer "dopo quello).

Se pensi che Scheme sia troppo esoterico, o se ti piace Javascript, Douglas Crockford ha tradotto molti degli esercizi in Javascript: link

Se ti piace C #, " Real-World Functional Programming " di Tomas Petricek sarebbe un posto eccellente per inizio. Serve anche come una bella introduzione a F #.

    
risposta data 15.07.2011 - 04:41
fonte
10

Se ti piacciono le lingue tipizzate staticamente e [Parentesi]:

Haskell, mentre è piuttosto pesante sulla purezza del paradigma di programmazione, ha una delle migliori introduzioni per una lingua che ho già visto sotto forma di "Impara a Haskell per il grande bene! ". Il modulo del libro è facoltativo in quanto il sito web è gratuito, ma questo è un autore che non mi sentivo affatto sottotono. Real World Haskell è buono ma in realtà è meglio preso come seguito di [Learn..Good]. RWH è anche gratuito con facoltativo effetto carta.

Da Haskell puoi passare facilmente ad altre varianti ML come F # o OCaml entrambi i quali sono più ampiamente usati. Per il bordo sanguinante ATS .

Se ti piace (e Dynamic_Typing Parentheses):

Scheme è il più funzionale dei due dialetti Lisp principali, più piccolo e più puro del Common Lisp ma meno utilizzato nell'industria. Personalmente mi piace La struttura e l'interpretazione dei programmi per computer ma è un libro piuttosto teorico e pesante, anche se un po 'difficile da digerire ti renderà un programmatore migliore.

Se preferisci Common Lisp o Practical Common Lisp o Land of Lisp sembra un buon investimento, il primo è gratuito online e il secondo è abbastanza economico e più importante (per alcuni) incentrato sul gioco. È più potente anche se meno puro di Scheme.

Da questi, puoi espandere Clojure se lo desideri. È Lisp per JVM, quindi è più facile da implementare e meglio difendersi dalle accuse di essere "accademico" Clojure può essere implementato in .NET e anche da Javascript. Per nativo .NET, prova IronScheme .

Puoi anche dividere la differenza e imparare entrambi in una volta con Scrivi un programma in 48 ore in Haskell .

    
risposta data 15.07.2011 - 06:06
fonte
4

La mia fonte preferita è Gentile introduzione a Haskell . Ho letto parte di Learn you a Haskell e O'Reilly Real-World Haskell e Craft of Functional Programming di Simon Thompson, ma onestamente sono facendo meglio w / l'intro gentile. È un po 'come il K & R di Haskell: un documento sottile prodotto dai creatori della lingua. Non prolisso, non paternalistico, ma non cercando di travolgerti con la loro erudizione, neanche.

    
risposta data 15.07.2011 - 21:48
fonte
1

Il link include un libro che puoi scaricare gratuitamente. Spiega come usare molte tecniche funzionali in Perl.

La maggior parte di ciò che dice può essere facilmente tradotta in JavaScript, Ruby o Python.

    
risposta data 15.07.2011 - 04:19
fonte
1

Attualmente sto imparando da solo la programmazione funzionale. Comunque sto imparando usando Haskell.

Ecco un paio di libri online (puoi anche acquistarli in hardcover iirc)

Haskell non è esteroico e sta diventando più mainstream (possibilmente non come mainstream come LISP o Erlang). Tuttavia è un linguaggio puramente funzionale e ti costringerà ad apprendere il paradigma della programmazione funzionale. Al contrario di un mezzo mezzo approccio imperativo funzionale che si otterrà utilizzando un linguaggio non puramente funzionale.

Le persone hanno sviluppato WebServer, Bittorrent Client e alcune applicazioni del mondo reale usando haskell. Comunque lo sto usando personalmente per apprendere i concetti e poi lo applico a C # & F # che sta funzionando in modo fantastico finora.

Enjoy.

    
risposta data 15.07.2011 - 04:49
fonte
1

Ho sentito parlare spesso di "Struttura e interpretazione dei programmi per computer" più volte. È un vero libro, quindi potresti volerlo anche in Paper, vedi link .

È disponibile gratuitamente qui link ( link ) e ci sono anche video delle lezioni ( link )

    
risposta data 15.07.2011 - 11:12
fonte
1

Programmazione in Haskell

Potresti non decidere di acquistarlo, ma i link della home page del libro (vedi sopra) a 13 canali 9 video sulla programmazione Haskell.

    
risposta data 15.07.2011 - 20:50
fonte

Leggi altre domande sui tag