To read all comments associated with this story, please click here.
My personal experience was: Once I wrapped my head around Monads, I realized which problems they solve better than imperative languages and why they are an absolute hell to do practical things with. In the end, Java is still better for practical programming.
Most importantly however, they gave me a lot of understanding about imperative languages. So while a practical programmer would just use Java/C#/(insert your favorite language here), someone interested in the theory behind programming languages should absolutely know about monads.
And BTW, Haskell is a functional language, unlike Lisp which just claims to be one. Lisp is no more functional than Java.
"Lisp is no more functional than Java"
Lisp has many things in it, but Lisp is written in Lisp. The basis of Lisp is a purely functional language, upon which objects and other object-oriented or aspect-oriented concepts are built. If you are not convinced, just look at Scheme which is exactly this basic-level language, with some renaming of the function names to make the syntax easier to learn. Or look at the design of a Lisp machine.
Lisp is no more functional than Java.
That sounds a lot like what Java brats say when they talk about how Java is "so much more OO" than other languages. Lisp's semantics reduce directly to the lambda calculus. That makes it almost by definition a functional language. What it isn't is a type-oriented functional language, like Haskell and ML. Those have become the darlings of the FP community, but they are just one branch of the FP language family.





Member since:
2006-10-11
This is just a fanboy calling out. Haskell is so übergroß! Once you wrapped your head around Monads, you will never look back. I guess, Haskell and other functional languages will become more prominent with the increasing spread of multi-core systems, they just handle multi-cores so much better than the imperative siblings.
Whatever, I never did any webbased stuff with Haskell, so i will closely monitor this blog. Thanks for bringing it to my attention.