Originariamente sono venuto da uno sfondo C / C ++ / Ruby e ho usato i concetti FP in Ruby ogni volta che potevo. Lo stato mi ha appena fatto male al cervello. Uno dei miei amici mi ha chiamato un giorno e mi ha chiesto di scrivere qualcosa in Haskell (il mio primo - e, si spera, non ultimo - lavoro Haskell!). Ho imparato rapidamente la lingua e ho buttato insieme qualcosa che funzionava. Non era bello o altro, ma funzionava.
Ho preso un mese di pausa da Haskell perché non avevo niente da usare per. Ma quando ho deciso di scrivere il mio blog, ho usato Haskell ( link ). Haskell è davvero interessante perché puoi suddividere un problema in parti e implementare queste parti in modo diverso in base all'input. Haskell gestisce anche il fallimento estremamente bene attraverso il pugilato intelligente dei valori. Ci sono così tanti strumenti per lavorare con queste scatole che semplicemente dimentichi che esistono.
La mia esperienza con lisp (Scheme) è stata completamente negativa. Non solo la lingua mancava di questi strumenti intelligenti e semplici, ma si sentiva pericolosamente sciolta come Ruby o JavaScript. È stata un'esperienza orribile e non offre nulla di nuovo oltre a Ruby o Python.
C ++ non può tenere una candela per Haskell, al di fuori della gestione della memoria. Haskell è altrettanto veloce (se non più veloce), significativamente più conciso e molto più sicuro. Ma la sicurezza di Haskell non si intromette mai.
TL; TR Haskell è una boccata d'aria fresca e il Lisp è un Rubino leggermente più funzionale.