2008-11-20 12 views
9

Sono interessato ad apprendere Haskell nel mio tempo libero (non attraverso un corso), ma sospetto che il mio background matematico possa essere insufficiente a ingannare concetti linguistici importanti (TBD).Quanta matematica ho bisogno per diventare produttiva in Haskell?

Ho avuto un anno di calcolo del college (variabile singola), ma non una matematica o una logica discreta.

Sto andando a colmare le lacune nella mia matematica?

+0

Se hai mai avuto/provato a provare Haskell, per favore aggiungi un commento qui menzionando come è andata - e se le difficoltà incontrate erano legate ad una mancanza di background matematico. – ShreevatsaR

risposta

11

Perché non provi e vedi?

Il design di Haskell ha preso in prestito dalle idee matematiche in settori come la teoria delle categorie (monadi, frecce, trasformatori), ma la maggior parte dei programmatori Haskell solo capire che cosa si tratta in relazione alla programmazione in ogni caso :-)

È don' Ho bisogno di una matematica particolarmente avanzata per imparare Haskell, al di là di cose come essere in grado di pensare a una funzione in senso matematico (come "una mappa f: X -> Y" piuttosto che una "subroutine" che esegue alcune azioni), essere in grado di pensare a funzioni di ordine superiore (ad esempio per dire che "'compose fg' è una funzione che all'ingresso x ha il valore f (g (x))") e così via. La notazione di Haskell è veramente pulita, quindi neanche questo dovrebbe essere un problema.

5

I concetti importanti per Haskell sono quelli che sono importanti anche per tutti i linguaggi puramente funzionali, e credo che non richiedano necessariamente una matematica avanzata.

Dato che hai avuto un anno di calcolo, starai bene.

Anche se è utile avere uno sfondo nel calcolo lambda, non è un requisito obbligatorio per Haskell.

5

Andrà tutto bene. L'acqua è calda Salta dentro!

3

Math? Ehm, no. Non hai affatto bisogno di matematica (come in Matematica nel senso comune della parola Algebra, Calcolo, Geometria), ma hai bisogno di un cervello logico (logico == matematico?) Da programmare come con qualsiasi altra lingua

2

credo che Haskell ti insegnano un sacco di logica, matematica discreta così allora imparare Haskell e si otterrà una certa abilità matematica troppo :)

3

ho insegnato a me stesso Haskell circa otto anni fa, avendo avuto solo business Calcolo, I don Penso che non sia necessaria alcuna matematica.

2

Più l'algebra universale e la teoria delle categorie si conoscono, meglio è, poiché Haskell prende molto da quei rami della matematica (vale a dire, Monade, sistema di tipo algebrico, frecce e funtori).

Problemi correlati