Object Objection
(Up to: Code )
_ This page is currently very much under instruction... think of it as ranting notes preceding a more constructured observation. Comments welcome still. _
Found a link from Phil's WiKi to this article entitled Objects Have Failed. While I don't immediately condemn Object Orientedness in the same way as the author, and while I don't make the point that it has any particular benefit to programmers over other paradigms, I do think that a "consensus" within the industrial sector as to what to adopt, not in terms of technically binding "standards" not efficiency, but as a benchmark for resources and simplicity.
However, my criticsms of OOP are touched upon in the article by this sentence:
_ And as a result we find that object-oriented languages have succumb to static thinkers who worship perfect planning over runtime adaptability, early decisions over late ones, and the wisdom of compilers over the cleverness of failure detection and repair. _
This sentiment seems to echo around the halls of Java coders in particular, perhaps because they socially most in abundance, or perhaps they in particular suffer from an insecurity, a blindness, that has been instilled into them in their school days. Perhaps it stems from a lack of experience, or a need to reinforce the advantages of the language that they have now have so much experience in, and don't like the idea of learning something else. Perhaps, perhaps. Whatever, it's there.
The arguments they generally put forward tend to revolve around a couple of points that indicate this, anyway, and ones that are generally, if not untrue, then most definitely verging on a form of arrogance. As backed up in this Slashdot comment (which is Perl-oriented, but brings up the same issues), the ideological arguments that some Java coders put forward for "their" OO techniques are just that - ideologies. In practice, the same arguments apply to any language, and their flagships such as software design and code readbility are both language independent, and just as possible or breakable whatever is used.
You can write horrible code in any programming language. Yes, even Java. Just because some people may take delight in a language's ability to obfuscate its code more than others doesn't mean that's what must be done.
Software Design will be different from paradigm to paradigm, as an architecture will be influenced by it. But different paradigms are just that - different ways to look at a problem, or a system. Use of one over another is an individual preference, and a "good" level of initial design can be achieved whichever is used.
[more ranting to go here. off to a party.]
So there.