back

by MrBuddyCasino·12y ago·view on hn ↗
Thats actually a good point, I agree the list of "successful" programs for Haskell is a sad joke. I know some People in finance use it for HFT, but other than that? Can anyone give better examples? Because it is hyped a lot around HN, and I wonder if it is worth it to learn.
2 comments
Yeah, everybody heard that about HFT. As I said, there people like pointing to that list: http://www.haskell.org/haskellwiki/Haskell_in_industry Many cool names (Facebook, Google, AT&T), but no real products.

> I wonder if it is worth it to learn

Well, you may try anyway. It's pretty interesting experience. Many people claim that after you are "enlightened" you'll hate other languages. Seems that I'm still not enlightened. It's nice to write parsers and similar stuff in it, but I couldn't find an area where it would be clearly better to use Haskell than some alternative I'd normally choose. If you don't need hight performance and your product is, say website, than some Python/Ruby seems more convenient (mostly because of many good libraries and instruments for them). Writing GUI app? GUI bindings for Haskell are pretty awful and unnatural. Real time? Sorry, optimizing Haskell is so unintuitive that I can't consider it. Plus it has big runtime and is lazy. Something hightly concurrent? Not better than Erlang. So, I came up with that it only suites well for writing Haskell compiler and there already is a couple of them.

Thats what I was afraid of. I'm still curious because learning Haskell would probably make me a better programmer, but I find it easier to motivate myself if its not just a theoretical exercise.

Did you venture into web dev a bit? I find the 'once it compiles it usually is correct' bit tempting, as I have a hunch that this might be more efficient that writing tons of unit tests in a language like Ruby.

> Writing GUI app? GUI bindings for Haskell are pretty awful and unnatural.

I've never had a problem with GUI coding in Haskell... Here's a few lines of some WX code I wrote:

    p <- panel f []
    startButton <- button p [text := "start"]
    stopButton <- button p [text := "stop"]

    set p [layout := row 5 [widget startButton, widget stopButton]
Seems pretty much like every other GUI stuff I used...

> Real time?

what.

> Sorry, optimizing Haskell is so unintuitive that I can't consider it.

I agree that space leaks are hard to fix / prevent, but meh, other mainstream languages have other problems that sum up to the same amount of pain.

> Plus it has big runtime and is lazy.

Big runtime? I'm not sure what you mean by this... In contrast, my web browser usually occupies a few hundred megabytes for trivial tasks.

> Something hightly concurrent? Not better than Erlang.

I'm not sure about that. Erlang has some very weird stuff going on (http://stackoverflow.com/search?q=user%3A2213023+[erlang]), and in Haskell you can program actor style pretty easily with channels/pattern matching, and then there's CSP, STM, Data Parallel Haskell, etc.

I heard there's this language called PHP and it's used by facebook and wikipedia. You might be interested in it.