News for hackers. Stuff that matters.
Re:The Wrong Abstraction (2016) by karmakaze on Saturday July 21, 2018 @01:54AM (#17580888)
Having worked with some Go programs, where one of the sayings is:

  A little copying is better than a little dependency.
This is even in the case with the two copies share the same correct abstraction. It's different than in the npm world. I've taken this and applied it in microservices written with other languages/frameworks and have no regrets. Sometimes some versions are a bit less complete or featureful, but each works fine. If a bug is discovered, it's fairly easy to and patch them all.

It's usually the intermediate developers who like having rules to follow to know that they're doing well that tend to over-apply DRY and other principles. Only experience (aka pain over time) seems to show when to break (or just not apply) the rules.

Perhaps it's just the way things are taught/learned. Instead of just showing what's good and have them interpreted as rules, each should be shown as a rule of thumb with a concrete example of when it should not be applied. Even if they don't clearly understand the difference at the time, they'll always recall that there are exceptions and not feel so motivated to apply it in every instance.

Re:The Wrong Abstraction (2016) by your-nanny on Saturday July 21, 2018 @10:07AM (#17582026)
I think it just takes a few times having to back out of an abstraction because of changes to requirements to become wary of premature abstraction.