Virtual or non-virtual by default, do we really have to choose?
When it comes to the question of whether methods should be virtual by default or not, there are two schools of thought. Anders Hejlsberg, lead architect of C#, describes them in an interview from 2003.
The academic school of thought says, “Everything should be virtual, because I might want to override it someday.” The pragmatic school [...]