OLS: On how user space sucks
Posted Jul 21, 2006 5:27 UTC (Fri) by flewellyn
In reply to: OLS: On how user space sucks
Parent article: OLS: On how user space sucks
With respect, I'm not at all sure that layers of abstraction are really necessary to create such
a situation. In fact, in my experience, well-abstracted systems where each conceptual layer is
well-defined and efficient in and of itself, tend to have less of these sorts of problems going on.
I've found that inefficiencies and bogosities of the sort described tend to crop up more in poorly
abstracted systems, or where the abstractions are "leaky", exposing too many internals to the
next level up. I know this because I have built some.
As a custom web application developer, I have created a number of large, complex systems
that do very complicated things; in the process, I have had to reimplement and refactor many of
the earlier generations of these systems, because as an application developer in general, I am
prone to the very human desire to just get it working. While I try to make sure the applications
are properly abstracted, oftentimes the combination of deadlines and the exploratory nature of
the process means that I don't do this as well as I should.
This results in system components, libraries, and abstraction layers which at times can be
brilliant coups of engineering, and at other (far too frequent) times turn out to be astounding
feats of perverse stupidity. In rereading old code, I think for every time I have said "I did that?
Damn, that's cool!", I have also said "What the HELL was I thinking?"
Of course, sometimes the design goals are poorly specified, or very broad, or else there are
no efficient methods of doing something at the moment, and you just have to wing it with an
inferior, but at least functional, solution. That may account for some of the cases above. And
then there is the issue of programs whose very purpose is misguided. That may account for one
of the other cases given above.
to post comments)