Two economists were walking down the street. They come across some dog shit on their way. The first economist turns to the second and says "I'll pay you $100 to eat that dog shit." The second economist agrees and eats the dog shit and the first economist pays him.
Some time later they come across another dog shit on the way. This time the second economist says to the first "I'll pay you $100 to eat that dog shit." The first economist agrees and eats the dog shit and the second economist pays him.
After walking a while the first economist says to the second, "The first time I paid you to eat dog shit and the second time you paid me back the same amount to eat dog shit, so we basically ate shit for nothing."
"Not necessarily," replied the second economist, "because we raised the GDP by $200."
Back in the early days of animation, the animation process involved an animator who would draw the scenes frame by frame and then hand them over to a team of colorers to color.
This is not so different. You conceptualised the scene and handed off the colouring to the AI. So it isn't really slop.
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.
Not only loose coupling but also performance reasons. When you initialise a class as it's interface, the size of the method references you load on the method area of the memory (which doesn't get garbage collected BTW) is reduced.
Also the more I get into languages like Rust, the more these doubts are increasing and leading me to believe that most of it is just dogma that has gone far beyond its initial motivations and goals and is now just a mindless OOP circlejerk.
In my experience, not following SOLID principles makes your application an unmaintainable mess in roughly one year. Though SOLID needs to be coupled with better modularity to be effective.
Thanks. :)