His argument against OOP makes it sound to me more like he&#x27;s using OOP design patterns he doesn&#x27;t like:<p>&gt; I&#x27;ve spent most of my professional life working with classes and objects, but the more time I spend, the less I understand why you&#x27;d want to combine code and data so rigidly. I want to handle data as data and write the code that best fits a particular situation.<p>To put it simply, I find when using DTOs to store data, and following SOLID principles to write the rest of the code, I end up with quite clean code that provides a very nice separation of code and data, and that the right level of abstraction and loose coupling is exactly what allows me to write the code that best fits a particular situation. Granted, I don&#x27;t write games, but I do write high-performance, highly-distributed multi-threaded applications where clean and fast connectivity between components is very important, and the ability to unit test basically everything is essential.<p>I guess to characterize OOP as &#x27;combining code and data rigidly&#x27; is just so far off base from my style of OOP and my experience that I really can&#x27;t identify with this as a reason to drop to C.