OOP and Java may not be for everyone.
-Thinking in Java, 3rd ed, by Bruce Eckel, President, MindView, Inc.
Had to post that because, lately, it seems that everything we Americans (at least) argue about is framed into a debate about right or wrong, black or white, all or nothing. Guns? No restrictions, or ban them all. Gay rights? Live and let live, or eternal damnation. Abortion? My body/my choice, or from conception it’s murder.
Anyone in the computer world knows this kind of thinking. The ”Mac vs. PC” discussion is never about when to use one, and when to use the other. It is exclusively about which one is best, all the time.
A little deeper into the caverns of the software hermits you can hear debates about object-oriented programming (called, “OOP”) versus procedural programming. Never mind what they are (if you don’t know). The point is that they are alternatives to one another and, therefore, they have supporters and detractors. And, as with most American debate, each side argues in favor of its own choice, not as better for what it’s better at, but as better than the other choice, no exceptions.
The most popular OOP language of our day is Java. Good old C is still the most popular procedural language, with C++ being an OOP language that supports all of C’s procedural mechanisms (meaning, I suppose, that you can be rejected by either half of the OOP-vs-procedural debate if you use C++ carefully, and possibly even both, if you try hard). Eckel’s book is about OOP and Java, with a slant in favor of communicating with those who might already know procedural techniques. The line above is from the first chapter of his book. It’s a mild assertion, at best, allowing for its own truth to be in question (“may” not be for everyone, as opposed to, “is” not for everyone).
In a few quiet words, Mr. Eckel simply acknowledges that he has something to say, not something to sell. He’s not an advocate so much as an educator. Learn what you can, do what you will. You just don’t see that much today, from anyone who claims they know something you might gain from knowing too. Most of us seem to think that knowledge is also some kind of truth, and that truth compels a sort of mandate. You don’t just get to know truth: you must obey truth. Mr. Eckel allows for you to make what use of truth (or, maybe just knowledge, if there’s still a difference left) you wish.
With everyone around me trying to shine the light of their own brilliance directly into my ignorant eyes, this bit of illuminated wisdom put them all into the shadows.
Thanks, Bruce. I needed that.