Hacker News new | ask | show | jobs
by gnaritas 3175 days ago
The question is about learning functional programming, Haskell forces you to learn much more than that to use it. Functional programming should be taught in something like Scheme, which lets you focus on the functional without being forced to also deal with a crazy Hindley-Milner type system that has nothing to do with functional programming. Haskell is not the right language to learn functional programming in, it's not the right language to learn anything in, beginners should start in easier languages.

> It is without doubt the most beautiful language ever conceived.

Only if you're a masochist.

3 comments

Quite honestly, I feel if you think Haskell's beauty is somehow in any way associated with masochist mindset , you most likely think Maths is associated with a masochist mindset and (assuming math defines reality) the true nature reality is only viewable to those with a masochist mind. Then friend, I truly am a masochist
Yep :). I don't agree math defines reality however; it can describe reality, it doesn't define it.
I'd say Haskell is the right language for mathematicians to learn programming. Purity and laziness make Haskell definitions almost indistinguishable from mathematical ones; that means that the functional part of "functional programming" will come easy and you can focus on the "programming" part instead.
I'd agree.
It’s probably hard to see it this way when you’re starting out (and you may need a certain personality type as well =) but for me, programming in Haskell is a genuine pleasure because it’s so easy to express yourself in it. Things that require a huge amount of code in other languages are effortless and elegant in Haskell, and the compiler is extremely effective at finding mistakes in your code and often even your design, so you start treating it as a partner that helps you write your program. The experience always puts a smile on my face. YMMV, of course.

I do suspect that in the near term Idris may overtake Haskell as my favorite language to program in, though. I haven’t had a chance to sit down and learn it yet, but everything I’ve read about it so far has left me very excited.

I'd argue you're conflating simple with easy; the code might be simple, but I'd wager given the inability of Haskell'ers to even explain what a monad is successfully, that few would find it easy.