Quote Originally Posted by DarkDragon View Post
It has its pros and cons. Many places OOP is tremendously useful. I don't think anyone can credibly claim that raw pointers and arrays are easier to use, or less likely to be buggy, than STL counterparts like std::string, std::vector, or std::map. In my research code, I don't know what I would do without OOP libraries for sparse linear algebra like Eigen.

But of course it's possible to overdo it. I've had to deal with some libraries that are very much overengineered to be the point of being nearly unusable (CGAL https://www.cgal.org/ comes to mind).
It's the difference between DOS and windows. DOS may work "Just Fine", but it sucked compared to windows 98 and before.