The Downfall of Imperative Programming

James Miller james at aatch.net
Thu Apr 12 04:04:16 PDT 2012


* Russel Winder <russel at winder.org.uk> [2012-04-10 21:02:03 +0100]:

> On Tue, 2012-04-10 at 21:22 +0200, Gour wrote:
> [...]
> > In any case, as it is often said, I got a feeling that despite its
> > potential cleanliness, the real-world Haskell code was not so readable.
> 
> That probably comes down to familiarity and personal taste.
> 
> > By deploying some coding discipline, we tend to believe that D can serve
> > well as FP-language for the masses. :-)
> 
> Hummm... the really core issue is whether the language supports tail
> call optimization.  Functional programming languages demand it, C, C++,
> Java, Go, Python definitely don't have it, D...
> 

I used Haskell a bit a while back, and while I enjoyed using it, and was
quite capable of writing in proper functional style, I found reasoning
about the programs tedious and difficult. Due to the nature of
"Everything is a function" (mostly), you end up with an incredible
amount of functions for the simplest tasks. And some of the most common
tasks in real-world programming, string processing and IO, are
significantly more difficult in Haskell.

Monads aren't a problem, the discussion of monads, by functional
programmers is a problem. The moment some snobby functional programmer
comes along and starts talking about category theory and some esoteric
aspect of Type Algebra generalized of some field of Assholery, most
people's brains turn off. It gets worse when you go: "How does this help
read from a file" and they give you a long stare and start all over
again, I just want to know how to read from a goddamn file!

I wish I could love Haskell, and for pure computer science, it's fine,
amazing even, but for real-world programming, it just doesn't cut it.
The concepts are too difficult and not explained well enough, code
rapidly becomes unreadable unless you maintain super-human discipline
and broken code is difficult to fix. Case in point is darcs, which is a
perfect application of real-word usage, and the GHC developers are
complaining of it being unstable, bloated and impossible to fix, so they
are moving to git (written in C no less).

--
James Miller


More information about the Digitalmars-d mailing list