Whereabouts do I confuse the role of inheritance in C++? I just used it as an example of a language which has inheritance built into it. It's completely optional, of course, and I was not suggesting anywhere that it was required. In fact, I rarely use it at all in my own C++ code, and when I do, I usually go the old fashioned C-like approach (for numerous reasons which I won't explain in this comment).
In the article, I define inheritance as the following:
> Most people generally view inheritance as a combination of subtyping and dynamic dispatch through virtual method tables (vtables).
So I did not confuse anything between regular and virtual member functions.
You have made a lot of assumptions about my views which are not even in the text.
And I agree Computer Science is very much not a science in the natural sense. I do with many more people would either say it is just mathematics (formal science) or start giving empirical evidence for their claims that "X is the best way to Y" (natural science).