Hacker News new | ask | show | jobs
by marcosdumay 3175 days ago
It has a much wider learning curve than any other language I've met. You just keep learning, and learning, and at no point you feel like you master it.

Yet, it also has a much higher learning curve than any other language I met. As you learn and learn, your productivity improves again and again.

The learning curve also starts from a very low point. Without a few key concepts (no, not monads) the language is almost unusable.

1 comments

The same could be said for something like Perl, where code gets a reputation for being only readable if you wrote it yourself because no two people know the same subset of the language.

That is probably an exaggeration, but it's definitely a problem you see in large complex languages with multiple ways to accomplish any particular task.

Haskell is typed lambda calculus and an amazing amount of syntactic sugar. One of the ten or so "aha!" moments of learning Haskell is realizing that so much of the language boils down to just \x -> let {...} in case {...}.

Which probably wouldn't be a bad way to teach Haskell, perhaps -- once one gets the general underlying form, understanding the rest is mostly just learning how the rest maps to that form.

No, it's completely different from Perl.

The core of Haskell is not that complex (although there is a lot of complexity on extensions). All the learning is in how to apply it, not on understanding the thing.

It is like OOP development practices, but wider and higher.

Perl, the only language where mashing the keyboard randomly has a 50% chance of working. I have looked at some of my old Perl and long-since offered my formal apologies.