So by definition require OOP?
But I guess there's no point in arguing over semantics.
[1] As Wikipedia defines OOP: "a programming paradigm based on the concept of "objects", which can contain data, in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods)." https://en.wikipedia.org/wiki/Object-oriented_programming
But nobody seriously uses virtual functions anymore, except where they would need to use function pointers, and for precisely those uses virtual functions are way better: cleaner, safer, often faster.
To avoid cache misses you can't use OOP, that's probably where this wave of going back to C is coming from:
For example here's how someone that knows how computers work writes Java games: http://www.javaonthebrain.com/java/warp/warp.java
https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attribute...
Excuse my C/C++ ignorance, but why not simply use C?