Hacker News new | ask | show | jobs
by iman 5935 days ago
The problem with Haskell is that it is way ahead of its time, in kind of the same way that lisp was ahead of its time.

lisp had high order functions and garbage collection, and now 30 years later all mainstream languages have these features.

Haskell has lazy evaluation, compiler enforced function purity and a type checker that doesn't get in your way. I predict that in 30 years all mainstream languages will have these features.

2 comments

Well said, but I don't think it's a problem per se. Lisp was way ahead of its time, but it also hung around until everyone caught up with it.

Programmers tend to think about code at the level of the most powerful language they know. Show someone partial application who has never used it and they say "that's a neat trick I guess", but take partial application away from someone that is used to it, and they suddenly feel like something vital is missing.

So at the moment, Haskell's new ideas seem at best to be "neat tricks" and at worst "confusing" to most programmers, but, as with Lisp, those ideas and features will get added to other more mainstream languages a bit at a time. Haskell's contribution probably won't happen because a bunch of people go out and learn Haskell, but because it's ideas will slowly move the cluster of mainstream languages up the curve.

that's all true, but the type system in haskell is hard. it seems to me that means one of the following:

* i am old and stupid, and the next generation will find it easy (although i was about ten years younger when i first tried haskell, and it was simpler then...)

* technology will advance and better abstractions and/or interfaces will be found.

* programming really is that hard.

personally i hope for the second, suspect the first, and fear the third :o)