An attempt at solving KControl's usability problems..
staikos at kde.org
Mon Jan 26 06:13:07 GMT 2004
On Monday 26 January 2004 00:49, Maks Orlovich wrote:
> On Monday 26 January 2004 12:32 am, George Staikos wrote:
> > Some notes:
> > > 4) Usually more efficient and faster code.
> > It is not possible for a generator to write more efficient and faster
> > code than a human, in particular since a human wrote the generator.
> > Perhaps inexperienced or lazy programmers write less efficient code, but
> > this is not a valid argument.
> Sure it is, if you extend the concept of a generator to include an
> optimizing compiler ;-) A program can do a lot more work than a human can
> w/o making a mistake, and do so w/o code/input uglification; it can also
> solve difficult optimization (numeric sense) problems w/far more inputs
> than can be done by hand. There are some nice examples in some advanced
> compiler textbooks of 4-line programs that are automatically expanded into
> 3-page ones with dozens of loops with bizzare shapes to get the peak
> performance. Having said that, this is a far cry from 'usually', and takes
> an insane amount of work. And, disclaimer: I didn't read any portion of the
> thread that preceeded your message ;-)
Well if I made the optimizing compiler, then I think I qualify as having
generated the code myself, so that means that the compiler cannot have
written faster and more efficient code than I did. Maybe equivalent, not
better. I can always write a better optimizing compiler too (unless I wrote
the perfect compiler already, in which case I would not be writing email to
kde-core-devel but living on an island right now :-)).
I like to think of this as a bit of a yacc/flex analogy. We all know that
it's quite possible to write faster, better parsers and scanners by hand.
Sure it's easier to use yacc and flex and the code is also easier to
maintain, which is why we still often use them, but that doesn't make their
KDE Developer http://www.kde.org/
Staikos Computing Services Inc. http://www.staikos.net/
More information about the kde-core-devel