I've seen misuse of "old" coding techniques (e.g. "nested-include hell", turning .p files into internal procedures, etc.; list is nearly endless) and "new" ones (e.g. multiple layers of abstraction for no good reason).which is better and why?
I agree. I am starting to dip my toes in this OO world. After examining and playing with a UserTableStatistics class from Mike Fechner and Tom Bascom on Github, I've started writing code of my own that follows a similar pattern. It's actually quite elegant (the pattern, not my code ). It makes collection of data from multiple databases much easier and more flexible than the procedural equivalent.There are things we do in our application which it would be very hard to reproduce procedurally.