dsimcha wrote:
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s
"This code is shown for its elegance rather than its efficiency. Using
++ in this way is not generally considered good programming practice."
So if the code is inefficient and in poor programming practice, how in
this blessed world could it count as elegant?
Because most functional programming purists (or, to avoid singling out
functional
programming, purists of any single paradigm) are theory weenies. These people
usually don't know an L2 cache from a floating point unit. They wouldn't grok
things like implementation efficiency (as opposed to algorithmic/asymptotic
efficiency) or close to the metal concepts if they were hit smack in the head
with
them. Thus, they live in paradigm land and work with theoretical models instead
of real-world code.
That argument doesn't hold because qsort has quadratic complexity (which
is a theoretical thing) for a large category of inputs. Theory also has
demonstrated that the correct choice is to randomize the pivot. So I
don't buy it that qsort has any merit, theoretical or practical.
I think the qsort example does a lot of damage to the FP community. It's
just lousy every way you look at it, and consider this:
1. FP has a crushing superiority compared to all other paradigms.
2. An FP expert could choose ANY example to illustrate said crushing
superiority.
3. Is qsort it?
Andrei