I am wondering when keyword
virtual will become a thing of the past and purged by the high priests.
std::signals2, CRTP and parametric polymorphic design patterns would be better (e.g. boost::factory<>).
C++ is looking like a mini-Haskell. Still quite a bit of boiler-plate code but it is getting better.
//
Even 30 years ago, I stated Composition >> Inheritance. It should be possible to do it as part of the language in a generic way, like an Architectural Description Language (ADL). This would lead to a new era of software plumbing and assembly, especially with C++17
Concepts. But that is not the way developers think at the moment. Many are syntax and bottom-up driven.
Like a ball and socket. All the outdated GOF patterns can be subsumed under this new paradigm.