Hacker News new | ask | show | jobs
by raphinou 4745 days ago
I mentioned real world app to mean "not a toy project". That is, i meant a reasonably large, structured, maintainable code base. I am thinking of haskell as the language to use for a new project, and am interested to know more about the potential problems and downsides i should be aware of. Also are there situations where one should absolutely avoid haskell?
2 comments

Yes, I think you should avoid Haskell (and any language with managed memory) on embedded systems or in very performance critical applications. Beyond that, it's going to be a choice of whether there are enough well-supported libraries that help your cause versus some other language. It would help to know in what domain is your new project is going to be.

You've mentioned web apps, so, to be specific, I think the Haskell web app frameworks (Happstack, Yesod and Snap) are mature. There aren't nearly as many utility libraries, as there are, say, for Rails. But that, in my opinion, is compensated by greater correctness guarantees and performance.

I'd encourage you to join the haskell-cafe [1] mailing list: it's a great place to get help if you get stuck.

[1] http://www.haskell.org/mailman/listinfo/haskell-cafe

> Yes, I think you should avoid Haskell (and any language with managed memory) on embedded systems or in very performance critical applications.

You're forgetting about atom, http://hackage.haskell.org/package/atom.

I think that the larger your project gets, the more Haskell will prove to be a win compared to other languages. The value of Haskell's type system in aiding the management and maintenance of large codebases is difficult to overstate.