News for hackers. Stuff that matters.
Re:The Wrong Abstraction (2016) by colechristensen on Friday July 20, 2018 @07:57PM (#17579928)
The biggest antipattern I encounter is factoring out an abstraction when the idea hasn't even been shared yet.
Re:The Wrong Abstraction (2016) by nomel on Friday July 20, 2018 @08:23PM (#17580030)
But being able to see the future, and reducing technical debt around it, is a required skill of an experienced developer.

Just because something hasn’t been shared yet isn’t good justification in my opinion, if you know it will be, especially if it’s a library/API.

Re:The Wrong Abstraction (2016) by colechristensen on Friday July 20, 2018 @10:54PM (#17580470)
I guess what I have run into is a lot of code that is agressively, needlessly abstracted for a future that will likely never come. Abstractions that perhaps would be worth it to save hundreds of copies or permutations, while I'm looking at one.

I'm all for not repeating myself, but there is a different between "usually avoid" and "never"

Copying and pasting in many situations would seem a breeze compared to the nest of abstractions required to avoid it.

Re:The Wrong Abstraction (2016) by pshc on Friday July 20, 2018 @10:34PM (#17580426)
Seeing the future? Picking the right macro strategy, programming language, database, etc ahead of time, sure, an experienced developer can usually do that. But correctly predicting the boundaries of systems, libraries, APIs—and guessing who will maintain which system and figuring out dependencies—that never goes according to plan. So in my experience YAGNI and reducing coupling are more important principles than sharing code.
Re:The Wrong Abstraction (2016) by nomel on Tuesday July 24, 2018 @01:37AM (#17598368)
I suppose it depends on your problem space.

If I'm writing an API to move a robot, my problem space is fairly bounded, and I know that someday I will want force control at some end effector. I know that there's a 6 axis robot I've been eyeing, etc.

Maybe I'm being downvoted by web devs?