On 2008-11-10, Roy Lanek <[EMAIL PROTECTED]> wrote: > instead of their heads.) In the hands of a great programmer (like James > Clark), it's astounding what can be done in a few lines of Haskel, and > it's interesting to compare the amount of Java code it takes the same > programmer to implement the same algorithm.
Yep, you can do incredible things in 10 lines. But to think how to write those few lines takes ten times as long as the writing the corresponding 1000 lines of C. That approach doesn't scale to big projects, where you have some other objective than an academic exercise in the language in question. And Haskell just sucks for the moderately object-oriented approach that is "obvious" for certain things. You have to build workarounds upon workarounds, because the obvious approach can't be sanely done.[*] And it gets very tiresome, if you have to try to come up with a non-obvious model for everything in a big project. The massive threading approach that I proposed might be workable and "functional" (as well as actually "message passing" OO), perhaps even scalable, but it also would need better language support to be convenient to use. I am actually very very slowly working on something in Haskell, dunno if I'll ever finish, and in all the time I've spent fighting with the language, I'd already have finished the project in C. Actually many things that would be a single line in C are tens of lines of Haskell... But the entire project is really an academic exercise. [*] That said, a lot of time should be spent on designing the API of important core libraries etc. that everyone gets to suffer from, to avoid the crummy "obvious" approach, and maybe come up with something nicer. -- Be an early adopter! Beat the herd! Choose Windows today!
