Go rant
Daniel de Kok
me at nowhere.nospam
Tue Dec 22 01:26:40 PST 2009
On 2009-12-21 19:13:48 +0100, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> said:
> I disagree. We don't want to educate people to write patently
> inefficient code and in poor programming practice.
I do not mind it, it's ok for explaining a concept clearly. Of course,
inadequacies should also be discussed. I'd argue that these are also
the thinking steps normally involved in designing a solution to a
problem: first try to solve it in the obvious way to understand the
problem. Then, make a more performant implementation. Of course,
performant also depends on the context. I have written a lot of C++
code that tries to squeeze the last bit of performance out of the
machine in a single-core world, but it is also difficult to
parallelize. In a parallel world, the 'slower' solution is sometimes
better.
> In my mind "elegant" and "at a polynomial blowup in complexity" can't
> be reconciled anywhere outside a Turing machine introduction where
> everything is equivalent within a polynomial difference in time and
> space.
Elegant in the sense of being able to describe a concept briefly. The
in-place quicksort does not do this.
> I think that's a roundabout way of saying that functional programming
> is unable to express certain algorithms easily or at all.
...in pure FP. Of course, another problem is that some algorithms are
inherently imperative. For instance, I find calculating the edit
distance in a performant manner ugly in functional languages.
-- Daniel
More information about the Digitalmars-d
mailing list