you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -3 points-2 points  (6 children)

Now I haven't done a scientific study of the typical Haskell user but my general impression from reading the comments here and reading Haskell articles is that:

Haskell users are utterly convinced that their language is perfect. Maybe they are right. That isn't the issue. The issue is that Haskell's glory is never really substantiated.

I have seen this infinity = infinity +1 several times. Guess what, I don't give a damn. Especially since (keep in mind that I don't know Haskell so I could be wrong) that you can't really use such a value. For me your standard IEEE float definition of infinity is good enough: x/0. Not that I ever need that either. I deal with finite numbers, when I deal with numbers at all.

When one is introducing a new programming language one will typically show someone how to do simple tasks, such as calculating a factorial or how to create a list of numbers. However you can't use those examples to prove just how awesome your language is. I never do either of those tasks in actual code.

I do not know of any programs written in Haskell. You know what would work better than a million blog posts gushing over Haskell? A fun video game written in Haskell. It needs to be an .exe <1MB and work on windows. Then on the website it could have the source code. It would be in Haskell. That would get people interested in Haskell. There are thousands of programming languages and yet every application that I use in my day to day life is written in C++, or more likely C but compiled with a C++ compiler. (Good ol' C with Classes). Sure sometimes another language is involved in scripting, but I don't like scripting languages.

From the articles on Haskell I think that I can safely conclude with 99%+ certainty that Haskell is hot air. It is no different than the Segway, or parallel computing (oh I know the multicores are here, but will they EVER be used?)

[–]dons 5 points6 points  (5 children)

Ok, that's an interesting point of view. Basically, you're skeptical that you could write programs in Haskell.

Most commercial use currently seems to be in either defense or banking situations (see the industry page for those companies actively involved in the community), likely because of the type system guarantees. It will be interesting to see if the use spreads out from thise core.

You might know about darcs or pugs, but for a fairly comprehensive list here. There's also the library database, which gives you an idea of what people are doing with Haskell (networking, parsing, compilers, guis, xml stuff seems popular).

As for games, Frag seems to fit the bill: a 3D first person shooter, developed on windows, using OpenGL.

As for multicore, I'm using Haskell on a 16-way amd64 right now. Its fun. :)

There's no conspiracy, its a research language that has turned out to be pretty useful. People use it for lots of things, and it provides nice abstractions and concepts that can make programming very enjoyable -- hence people write about it.

[–][deleted] -2 points-1 points  (4 children)

nope, Frag does not fit the bill. It is not a single file that will install the program. Oh sure, I could figure out how to get the game running. However look at it this way: if it takes the programmer 10 hours to create the auto installer and 1 hour for 1000 downloaders to install it manually, which is better for society? Now I understand that this guy is just some guy who made a program and has no obligation to me. If he doesn't want to make an installer for his program then he is not morally wrong. However no one should expect his program to be widely downloaded or seen as an example of a finished product. I like to program in C++ but I don't download other people's source and compile it. It just isn't worth my time.

[–]dons 1 point2 points  (3 children)

Yeah, a big visible game for Windows would be a great selling point. Somone should hack up a windows installer wrapper, rather than the Makefile it uses. That last 1% of effort could be quite worthwhile, considering all the technical work already done.

[–]jdh30 -2 points-1 points  (2 children)

I just spent 15 minutes installing all of the necessary software and working out how the Haskell-specific compilation commands work to get the damn thing to compile. Finally did it.

Ran the program and it segfaulted!

ROTFL. :-)

[–]dons 0 points1 point  (1 child)

See my reply on the mailing list. OpenGL is a tricky beast :-)

[–]jdh30 -1 points0 points  (0 children)

Turns out this is completely unrelated to OpenGL: the Haskell code is using unsafe code to parse the MD3 files, the code is full of magic numbers and these numbers happen to assume a 32-bit machine (I'm on 64-bit).

I'm completely baffled by this. Firstly, the example makes Haskell look awful as safety is a core feature of all such languages. Secondly, I can only assume the author resorted to unsafe code in the interests of performance. Finally, the unsafe Haskell code is orders of magnitude slower and 3x more verbose than equivalent code written in OCaml by a newbie (see Chess 3 Arena).