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 methods)? 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 model! 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 thought. 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_.