Sorry, I got carried away with my silly "hacker" post.

Manuel M. T. Chakravarty writes:
 > Frank Atanassow <[EMAIL PROTECTED]> wrote, > Proposition > Hackers can like
 > FP.  [..]  > Proof 1: > By contradiction.
 > > 
 > >   Nothing could be more obscure or esoteric to a hacker than FP. (They
 > >   even seem to admit it themselves.)
 > 
 > I don't see the validity of this point.  Especially, given that much of
 > todays hackerdom originated in the Lisp communities.  For example, when I
 > talked with ESR about programming languages, he said that one of the things
 > he misses in Python is fully-fledged lambda abstractions.

I was going to mention Stallman and Emacs; but by my definition Stallman was a
guru, not a hacker...

ESR and RMS may like LISP, but clearly they aren't "converts" in the same
sense as most of the list members here; Emacs and Guile aside, most of the
code they produce seems to be in conventional languages.

I should admit that I am not one of those people who feel we should be so
gung-ho about using different languages for different purposes, i.e., it may
be impractical to do otherwise now, but it's not a state of affairs we should
be perpetuating. The differences between languages within each paradigm
(imperative, FP, LP) are not very significant. Constructing a reasonably
"universal" language in each class is not that far outside our reach. And the
distinctions between each class are starting to break down too (witness
imperative monads). Even for very domain-specific languages, there are
substantial benefits to treating them in an internal fashion, and it's
becoming increasingly practical to do so (witness combinator-style libraries).

 > > Of course, many hacker sapiens are something less than open-minded. You
 > > only need to look at /. to convince yourself of that.
 > 
 > Never confuse wannabees
 > <http://www.tuxedo.org/~esr/jargon/html/entry/wannabee.html> with the real
 > thing.

OK, different names, same denotation. My "guru" is your "hacker"; my "hacker"
is your "wannabee". Your hackers are still in the minority, and the
proposition is that something needs to be done about convincing the masses. I
was suggesting that if you hook the gurus, then the rest will follow.

 > > And if you _can't_ convince a guru and write better programs faster, then
 > > maybe FP isn't so good after all... unless you plan on writing all the
 > > world's programs yourself.
 > [..]
 > I think, the critical thing here is not outperforming existing
 > applications, but saving time developing new applications.  If there is one
 > thing a hacker hates, then it is wasting time on doing a job that could be
 > done more efficiently[1] or repeatedly doing a job that could be automated.
 > [..]
 > [1] The exception is of course where doing the job is the
 >     end, not a means.

Not if the cost in efficiency is too high. The situation isn't that black and
white. I really do believe that the imperative camp's valuation of the
correctness vs. efficiency tradeoff is different.

<rant>
Also, I've observed many FP/LP people argue that slow or memory-hungry
applications aren't such a big deal because "in 5 years, Moore's law will make
them efficient."  The problem with this argument is that consumers and
programmers don't reason this way. They don't say to themselves, "Now I have a
shiny new computer, three times faster and with twice the memory of my old
one. NOW I can run functional programs!" :) They say, "Now I have a shiny new
computer, three times faster and with twice the memory of my old one. NOW I
can run twice as many applications three times as fast!" As machines get
better, program functionality also increases. "Perceived performance" seems to
remain fairly constant, if you see what I mean.
</rant>

Rapid application development is not enough. There are imperative languages
for that already: Python, Perl, Tcl... They fit into the imperative mold, and
they seem to give imperative programmers the things they want. Probably Haskell
can provide equal benefits, but to convince people to change paradigms,
you need to provide quite substantial advantages _beyond_ that.

"Extraordinary claims require extraordinary evidence."

OK, enough ranting. All this is pretty incidental to Haskell, so, for the
benefit of others who have already been put off by the recent excess of
off-topic posts, I'll reply to any replies in e-mail, and you are all free to
sling mud at me, since I probably deserve it anyway...

-- 
Frank Atanassow, Dept. of Computer Science, Utrecht University Padualaan 14,
PO Box 80.089, 3508 TB Utrecht, Netherlands Tel +31 (030) 253-1012, Fax +31
(030) 251-3791


Reply via email to