[Haskell-cafe] 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.

David Leimbach leimy2k at gmail.com
Wed Sep 30 10:52:53 EDT 2009


On Wed, Sep 30, 2009 at 12:32 AM, Andrew Coppin <andrewcoppin at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090930/92051203/attachment.html


More information about the Haskell-Cafe mailing list