File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Other Languages and the fly likes Impractical Haskell? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Other Languages
Bookmark "Impractical Haskell?" Watch "Impractical Haskell?" New topic
Author

Impractical Haskell?

Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3479

Hi Mr. Bruce,
Why in your opinion Haskell isn't being used to create real world systems?
Lisp is an alien language but it is used to create critical systems, also Lisp learning curve is among the hardest.
Is it because Haskell is an academic language and not industrial language?
Thanks.
Bruce Tate
Author
Ranch Hand

Joined: Jun 04, 2002
Posts: 71
John Todd wrote:Hi Mr. Bruce,
Why in your opinion Haskell isn't being used to create real world systems?
Lisp is an alien language but it is used to create critical systems, also Lisp learning curve is among the hardest.
Is it because Haskell is an academic language and not industrial language?
Thanks.


Great question!!!

Both of these languages are difficult for large teams for the same reason. Lisp is impractical because if its syntax, but has the richest abstraction of all modern programming languages, I think. Tim Bray says it's really taxing on your short term memory, and I'd have to say I agree. I find math equations particularly difficult to process in Lisp, but some of the left to right operators included in Clojure really help to mitigate that concern for me.

Haskell is a conceptual brain warp. To do the most basic of tasks and do them well, you need to grasp three super sophisticated concepts:
1) the type system with type classes and a type tree. Haskell is strongly typed, so you can't dance around it.
2) Monads. You can't avoid monads; you have to use them to do any kind of practical programming. And it's not just a tedious kind of hard like prefix notation. It's challenging to grok the base concept.
3) Lazy computing. Some really elegant stuff breaks if you're not careful because it can force Haskell to realize an infinite sequence, and suddenly you're dead and you don't know why.

But that said, Haskell is incredibly powerful. In 10 years, we're going to wonder why more of us weren't writing Haskell, but I've seen some very sharp people fail with it. The transition is demanding, but the best minds in the business often prefer it.

I am sorry this is not more clear. It's a great question.


First rule of Kayak: When in doubt, paddle like Hell
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3479

Clear and high quality (as usual) answer.
I appreciate your time, thank you.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Impractical Haskell?