Sto ottenendo Scheme sbagliato?

6

Ispirato dai numerosi post sull'importanza dell'apprendimento di Lisp / Scheme, ho iniziato a imparare Scheme due giorni fa, sto usando il libro "The little Schemer" e ne ho completato la metà.

Ma non ho ancora imparato nulla di nuovo, il libro insegna sulla ricorsione che già comprendo e usa lambda (che posso pensare a un modo per definire una funzione in C). Non ho ancora avuto il concetto di programmazione funzionale (si prega di indicare qualche esempio di funzionale rispetto ai normali metodi di programmazione in C / C ++ così posso ottenerlo).

Sto imparando nel modo sbagliato? o è "The little Schemer" per un principiante in programmazione e dovrei cercare altri libri?

    
posta nischayn22 28.06.2012 - 08:42
fonte

3 risposte

9

Attendi fino a quando non arriverai alle chiusure lessicali.

Quindi cerca di cogliere la proprietà omoiconica del linguaggio - questo è ciò che lo rende molto diverso dai C-like.

E assicurati di apprendere uno Schema con un'implementazione define-macro adeguata (ti consiglio Racket o Bigloo), non solo macro standard igienici (quest'ultimo non ti sorprenderà affatto se hai familiarità con Modelli C ++). La maggior parte dei libri di testo Scheme salta questa roba, sfortunatamente, ma direi che non c'è nulla di altrettanto importante nei Lisps come i macro corretti.

È anche importante cercare di capire il sottoinsieme puramente funzionale di Scheme e imparare come risolvere tutti i possibili problemi di programmazione con esso. "Little Schemer" è un buon punto di partenza, ma non quasi sufficiente. Vai su "Struttura e interpretazione dei programmi per computer" dopo di esso.

    
risposta data 28.06.2012 - 09:55
fonte
3

Il modo migliore per ottenere il gusto della programmazione funzionale è scrivere programmi.

Ad esempio, scrivi un semplice parser XML in C ++ e schema. (e non usare variabili mutabili nello schema).

O risolvi alcuni problemi del progetto euler in schema / haskell / ocaml / qualunque.

    
risposta data 28.06.2012 - 13:50
fonte
3

"The Little Schemer" è un quaderno che mira a darti una base nel dialetto Scheme di LISP.

Non è assolutamente un libro di testo su programmazione LISP o Scheme, tanto meno un testo sulla programmazione funzionale. Per questo, vuoi, come ha detto SK-Logic, Struttura e interpretazione dei programmi per computer .

    
risposta data 28.06.2012 - 15:28
fonte

Leggi altre domande sui tag