The Object Oriented Ideology
Ever try to understand why in a Java or C++ program something
that normally would be done in two or three lines of code, where
the statements being executed are actually visible together, where
the control flow is apparent, where arguments and constants and variables
being used are clearly indicated, as is where they come from, where they're
stored, and what gets done with them, is such a miserable experience?
Ever try to ask a Java or C++ programmer
why he can't seem to write more than two lines of actual code in a row
without having to hide something in a different file, or inherit it from
some other class somewhere on the far side of the moon, or why just assigning
a value to a variable requires 4 different function calls (oh, sorry, object
What was the reply? Invariably, the reply is about the Object-Oriented Way
Of Doing Things. In capital letters. Like it is holy. The reason programs are
written in this way is to satisfy the directives of dogma- the directives of
the Object Oriented Model. As if this satisfies all questions. Certainly the
adherents of this odd religion think that the mere mention of canon is
sufficient to silence any question. Don't ask them what the purpose of
the program itself is. It is clearly to fulfil the destiny of the Object
Oriented Model. Any side effects, like, perhaps, execution of instructions
to manipulate data in a useful way, are purely side effects. The goal they
strive for is _how object oriented_ their code is.
Is it any wonder, then, that they manage to produce such gems?
Trying to suggest that perhaps it might make a bit more sense to keep it
simple is of course a horrendous violation of political correctness and
religious right thinking, and is of course properly answered with loud
indignation about how that - horror of horrors - violates the object oriented
Yes, we have been taught a new way to think about everything, and while
the first to adopt it might have thought it as a playfully different approach
among many approaches, this is no longer the case. Now it is the ideological
imperative, the enforced dogma, that what matters is how you conceptualize
the organization of things!
Like the Soviet Union, where all subjects of study were carried out
in the context of class struggle and socialist revolution. Want to study
plant biology? Sure, but your thesis has to explain what photosynthesis has
to tell us about the liberation of the proleteriat. Want to study ancient
Chinese poetry? Not a problem if you understand that what it really is
talking about is the struggle of the workers against their imperialist
masters. Want to study mathematics? Certainly, comrade, don't you know
that Lenin himself did arithmetic and clearly you see how differential
equations really are just a reflection of the cyclical nature of social
revolution and progress..
So it really didn't matter if you understood a thing about plants, or a
word of Chinese, or how to reduce a fraction- you had to understand how
to set these things in the context of politically mandated ideological
And now of course the field of computer programming has been taken over
by a wave of right-thinking called the Object Oriented Model.
It doesn't matter if it _makes sense_. It matters if it's _object-oriented_.