The Three Pillars

Visual Basic has its own style for doing object-oriented programming, just as
it has its own style for doing most everything else. Let’s look briefly at how
Visual Basic both resembles and differs from other object-oriented languages.

Purists will no doubt argue that Visual Basic isn’t an object-oriented language at all because it doesn’t fully support the three pillars of object-oriented languages—encapsulation, reusability, and polymorphism. (Most books describe the second pillar as inheritance rather than reusability, but bear with me.) In the first edition of this book, I just eyeballed the language and said it supported one and a half out of three pillars of object-oriented programming. In retrospect, this was an extremely generous rating. If I rated version 4 according to the rig­orous scientific test I’m about to apply to version 5, it would come out at about 1.2 (.6 for encapsulation, .2 for reusability, and .4 for polymorphism).

So here’s a complete scoresheet supporting my current rating of 1.9 (with an error factor of .2) for Visual Basic version 5 as an object-oriented language.

WARNING One of the early reviewers of this manuscript accused me of arrogance for claiming the ability to scientifically rate a language with an error factor of .2. Well, for those with a sense of humor slightly different than mine, let me point out the bulge in the side of my face (tongue in cheek). The reviewer in question, whose opinions I value, used a method at least as scientific as mine to give Visual Basic an OOP rating of 2.95. I considered his rating ridiculous. He considered mine ridiculous. But you, dear reader, have the only scientific rating system that matters.