Risorse per principianti di programmazione funzionale [duplicato]

12

Sto cercando alcune risorse sull'argomento della programmazione funzionale. Sembra essere un paradigma che sta guadagnando visibilità e voglio saperne un po 'di più.

Quali sono i libri / ebook / articoli che mi consigliate?

Nota: non sono necessariamente alla ricerca di una lingua specifica, ma del paradigma stesso.

    
posta Herberth Amaral 08.03.2011 - 17:01
fonte

9 risposte

5

La migliore risposta dipenderà davvero dalle lingue che conosci attualmente. Se hai familiarità con la famiglia C, in particolare C #, allora l'apprendimento di F # sarebbe probabilmente il più pratico. Raccoglierai tutti i fondamenti della programmazione funzionale, ma sarai in grado di fondere i concetti OOP (come in OCAML). Inoltre, è possibile eseguire il porting di gran parte della conoscenza in C # stesso per eseguire una programmazione funzionale minore in un linguaggio OOP.

Un buon libro per questo metodo sarebbe Real World Functional Programming di Tomas Petricek con Jon Skeet. EDIT: è un buon libro perché ripercorre i principi della FP, ma mostra come usarli sia in un linguaggio funzionale (F #) che in un linguaggio OOP (C #) in modo da comprendere non solo cosa fare e perché, ma anche come il computer stia davvero interpretando quello che stai facendo. Penso che sia sempre utile nella programmazione.

D'altra parte, potresti volere un approccio puro, nel qual caso raccomando Haskell. È più difficile iniziare, ma ti darà l'approccio più pulito e completo per l'apprendimento dei soli concetti FP.

    
risposta data 08.03.2011 - 17:50
fonte
16

Che cosa posso dire inoltre: Impara un haskell per un bene più grande!

the funkiest way to learn Haskell, which is the best functional programming language around. You may have heard of it. This guide is meant for people who have programmed already, but have yet to try functional programming.

The whole thing is completely free to read online, but it's also available in print...

    
risposta data 08.03.2011 - 17:12
fonte
6

In riferimento alla risposta di Vitor Learn You A Erlang . Per una più indipendente dalla lingua (vista basata sulla teoria) potresti iniziare con Lambda Calculus .

    
risposta data 08.03.2011 - 17:17
fonte
6

Le persone qui hanno raccomandato Schema e in particolare questo corso come introduzione alla procedura / programmazione funzionale.

Non ho seguito l'intero corso, ma ho davvero imparato alcune cose anche se ho appena visto il primo video.

Se ritieni che SICP sia difficile da seguire, puoi anche imparare Scheme utilizzando questo libro .

    
risposta data 08.03.2011 - 17:11
fonte
4

Piccolo Schemer Trilogia è un'ottima risorsa per imparare le basi. La maggior parte dei Lisper che ho incontrato in realtà consiglia di passare attraverso la prima, passando poi a On Lisp (che è disponibile per gratis sul sito degli autori ).

    
risposta data 08.03.2011 - 18:11
fonte
3

Perché non scrivi te stesso uno Schema usando Haskell .

Impara due lingue funzionali allo stesso tempo!

48 ore sono probabilmente un po 'ottimistiche, come vorresti leggere e giocare con i concetti per assicurarti di comprendere appieno cosa sta succedendo prima di procedere ..

    
risposta data 08.03.2011 - 17:44
fonte
3

Ho lavorato al seguente libro: link

Gli esempi sono in F # e C # in modo che potrebbero essere un po 'troppo centrati su Microsoft per le tue esigenze. Posso consigliare il libro però; Sto lentamente cominciando a 'pensare funzionalmente' a certi problemi.

    
risposta data 08.03.2011 - 17:48
fonte
3

Python affascinante: programmazione funzionale in Python da IBM Developerworks mi ha davvero aiutato a capire cos'è la programmazione funzionale.

Questo articolo è per Python, ma penso che gli esempi di codice in questo articolo (in cui vengono confrontati funzionalmente e proceduralmente diverse cose) possano chiarire la differenza tra programmazione procedurale e funzionale per qualsiasi linguaggio di programmazione.

    
risposta data 08.03.2011 - 21:22
fonte
3

Il concetto alla base della programmazione funzionale è chiamato "lambda calcolo".

Il libro canonico e più completo sul calcolo lambda è Barendregt, HP "The Lambda Calculus: Its Syntax and semantica. "

    
risposta data 08.03.2011 - 17:09
fonte

Leggi altre domande sui tag