Case against OOP is understated, not overstated (2020)
In my mind, state is the real enemy impacting: comprehension, 
brittleness towards making changes, and the surface area exposed to potential bugs. OOP as frequently implemented, while claiming to encapsulate state, ends up creating so much more.<p>In accordance with this view, I think project architecture should be approached with an emphasis around how much state is necessary for it to run. This is why simulations like say someone making a game or simcity with like relatively independent entities that map to something in real life use OOP. If you&#x27;re writing a service doing requests, you want as minimal state as possible. Singletons are state. Initialized&#x2F;non-static objects are state. The smaller amount you have the easier it is to reason about the system.<p>As I write this however, I worry a little that my view is overly simplistic, or maybe applicable only to domains that I have worked in. If anyone wouldn&#x27;t mind poking holes in this argument or offering examples I would appreciate it.