

I’m my professional experience working with both, Java shops don’t blindly enforce this, but c# shops tend to.
Striving for loosely coupled classes is objectively a good thing. Using dogmatic enforcement of interfaces even for single implementors is a sledgehammer to pound a finishing nail.








I appreciate the sanity check, but just to throw a monkey wrench into your model…
I think the square-cube law will bite you here. I expect power/mass isn’t constant. Mass grows faster than cross-sectional area which is key in muscle performance.