4

As far as I know, it generally refers to late or dynamic bindng. So why a word like late or dynamic wasn't used?

2 Answers 2

5

The term late or dynamic binding describes how the identifier is resolved into the actual implementation of the method, it doesn't describe how the virtual method is used. If any of those would have been used to describe the method, something like late-bound or dynamically-bound would have been used, which is not only long-winded, but also a bit too close to how it's implemented.

Using virtual to describe the method is better as a high-level desciption. It allows you to understand the principle without the need to know how the compiler deals with it at machine level.

It also works for a language that would be implemented using only late binding, where you still want to make a difference between virtual and concrete methods.

3

The word itself was introduced with SIMULA-67. Ole-Johan Dahl's history indicates that the introduction of 'virtual' into SIMULA occurred just before May 1967, just in time to be included in the paper Class and Subclass declaration that was presented at the IFIP TC2 Conference on Simulation Programming Languages.

However, there is no note to indicate why 'virtual' was chosen.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.