This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
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


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
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: 3476

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: 3476

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?
 
Similar Threads
LISP
What is your take on Java/JEE certification?
Compare Clojure to Haskell and CL
Real-life Clojure examples
Jess and LISP