I hear this argument a LOT and hear that templates/generics are far more superior in code production than virtually-driven classes.
I still don't understand this. I've heard the virtual functions cause problems for performance and that the solution is always to use Templates/Generics.
Do they mean that it is better to have a Generic class that has a Template parameter of the base classes and runs individual methods of the same name vs Inherited members with virtual functions?
I still can't really picture this scenario, yet I know it's important to know the difference since many programmers seem to stress the importance of using Templates in place of Inheritance.
Could the other problem be that it's confusing for programmers to know (by heart) the extensions of classes and their separate functionalities? I was browsing Microsoft's .NET section in their MSDN site and noticed that they implemented new syntax just to code around Inheritance issues.