On Wed, Sep 30, 2009 at 12:32 AM, Andrew Coppin
<andrewcoppin@btinternet.com> wrote:
Casey Hawthorne wrote:
I read somewhere that for 90% of a wide class of computing problems,
you only need 10% of the source code in Haskell, that you would in an
imperative language.
If this is true, it needs to be pushed.
And if by changing a few lines of source code one can develop a whole
family of similar applications, that needs to be pushed, also.
:)
As one C++ expert I know is fond of telling me, "Haskell will only become popular when obscure mathematics becomes popular".
You can argue about whether or not this is true. Myself I think we just need to start documenting things more clearly. (E.g., Mr C++ apparently spent half an hour trying to figure out why an expression wouldn't parse. Turns out you have to write negative numbers in brackets. Which isn't hard, but you have to already know this.)
It's clear Haskell has become popular, and without the need for the obscure math. (though I have to admit, I find the math highly interesting, yet I'm quite the novice)
I might also point out that 90% of all desktop computers run Windows, and yet every single C library binding on Hackage fails to compile on Windows. That really needs to be fixed. (Not to mention some of the standard I/O functions doing slightly strange things because GHC is calling POSIX compatibility functions rather than native I/O functions. For example, doesDirectoryExist "C:\\" = False.)
YES
The lack of a big shiny whizzy-looking IDE probably stops quite a few people too. (I gather the Leksah guys are working on that one.)
I personally have found 2 IDEs to be "worth bothering with" in my entire life. One is Visual Studio. The other is Borland's Turbo C++ 3.0 IDE for DOS. (I even coerced it to run on my 16MHz 286.... geeze 16MHz was fast back then :-) )
Lack of a good way to write native-looking Windows GUI applications - or indeed any GUI applications without requiring a stack of DLLs - probably doesn't help either.
None of these look fundamentally insumountable to me.
(Mr C++ argues that homo sapiens fundamentally think in an imperative way, and therefore functional programming in general will never be popular. We shall see...)
I think that's a bunch of garbage :-). People think algorithmically, or we wouldn't design algorithms to deal with complexity. Algorithms very often have steps that are quite imperative, but many of the sub-pieces of a step are clearly pure and functional.
Being able to see the difference in a set of instructions, and being able to isolate them, can be quite a powerful way to break a problem down to a manageable set of steps.
If it wasn't, Functional Programming would have died long ago, and it clearly hasn't, and is gaining ground. See F#, Erlang, O'Caml, and Haskell. I don't think you can argue with the quantitative data that is the user base. The number of people in #haskell on freenode, or the subscribers on Reddit.
People are paying attention and trying it out. Whether haskell will completely fail to "Avoid success at all costs" or not is hard to say :-). In fact, Intel is porting their concurrent collections libraries to Haskell now.
How's that for an endorsement? (It *was* just a C++ library). Tell your friend to stick that in their pipe and smoke it... then pass it to me! :-)
Dave
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe