I wonder if proponents of OO truly understand what such a system would look like, especially if you tried really hard to adhere to tenets of good design, like reducing coupling, increasing cohesion, etc.

It would be a LOT of classes that all do little things, grouped into namespaces. A LOT. No, more than that.

If you wonder how JavaLand ends up with stuff like https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html that is how. Complex system require a lot of stuff to manage that complexity.

AbstractSingletonProxyFactoryBean (Spring Framework 6.2.12 API)

declaration: package: org.springframework.aop.framework, class: AbstractSingletonProxyFactoryBean

@davetron5000 I have noticed a pattern more and more often the past several years: programmers routinely overestimate how complicated someone else's code seems and underestimate how complicated their code seems. From this, I have concluded that many programmers say "complicated" when they truly mean "unfamiliar".

A well-designed and unfamiliar code base looks complicated because it is unfamiliar.

@jbrains @davetron5000 this unfortunately correlates with another tendency among programmers: glorification of complexity.