

I’ll hazard a guess… OPAM was using a text-based utility to get the list of groups, and 33 is the point where the list would wrap to a new line.


I’ll hazard a guess… OPAM was using a text-based utility to get the list of groups, and 33 is the point where the list would wrap to a new line.


One example is creating an interface for every goddamn class I make because of “loose coupling” when in reality none of these classes are ever going to have an alternative implementation.
That one is indeed objective horse shit. If your interface has only one implementation, it should not be an interface. That being said, a second implementation made for testing COUNTS as a second implementation, so context matters.
In general, I feel like OOP principals like are indeed used as dogma more often than not, in Java-land and .NET-land. There’s a lot of legacy applications out there run by folks who’ve either forgotten how to apply these principles soundly, or were never taught to in the first place. But I think it’s more of a general programming trend, than any problem with OOP or its ecosystems in particular. Betcha we see similar things with Rust, when it reaches the same age.
Grocery stores definitely sell them. They’ll usually have an aisle, or part of one, dedicated to frozen meals. Can’t speak too much about their popularity, though. I myself don’t of anyone who uses them, so I’d wager they’re pretty niche in popularity, at least around where I live.
I would say all of the reasons you list are viable.