On Fri, 14 Oct 2011, Jason McBrien wrote:
On Fri, Oct 14, 2011 at 1:34 PM, Dave McGuire
<mcguire at neurotica.com> wrote:
I'm quite certain that the last few people
who know anything about code
optimization (and I don't mean "putting -O in cc's argument list) will die
in our generation, and the current disturbing trend of horrible grinding,
lumbering, bloated slowness will continue to worsen.
The slowness is due to complexity, which is inherent in user-centric
software. If the program is going to be user friendly, it's going to have to
anticipate a user's needs and respond in a logical fashion. Each option you
give the user increases the complexity of code, sometimes exponentially.
IME the slowness is due to _unnecessary_ complexity, the creation of which
is greatly facilitated by 'object oriented design'. I refactored some code
this year that was using 7 non-trivial classes to do what I did in <10
lines of procedural code. The author had been brainwashed into thinking
that making everything into an object and building in abstraction as a
form of future-proofing was somehow going to result in cleaner, more
reliable code. While that is a perticularly drastic example, I see lesser
manifestations of this almost everywhere.
Note that I'm not saying all OO design is bad, I think it has its place,
but that many (most?) practitioners don't know when to stop.
Alexey