HN Hall of Fame Weekly email

The Wrong Abstraction (2016)

www.sandimetz.com Essays & writing Essays & articles Software engineering Class of 2023-05 Hall of Fame
Screenshot of www.sandimetz.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 6 calendar years, with breakout response in 3 of them.

submissions
10
submitters
9
observed span
2017–2026
peak thread · 240 comments
717 pts
latest 20+ return · 2023-05-13
154 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

I found the following comment very insightful in a past discussion: https://news.ycombinator.com/item?id=11042400 I reproduce the relevant part: Dependencies (coupling) is an important concern to address, but it's only 1 of 4 criteria that I consider and it's not the most important one. I try to optimize my code around reducing state, coupling, complexity and code, in that order. I'm willing to add increased coupling if it makes my code more stateless. I'm willing to make it more complex if it…

gadrev·717-point thread·

I feel some people here are misunderstanding the blog post. Sandi Metz IMHO doesn't claim that the problem occurs at step 2 or 3. She doesn't claim that it's wrong to introduce abstraction when there is duplication. What she is saying instead is that the problem occurs from step 6 onwards: when you find yourself wanting to reuse an abstraction that, regardless of whether it made sense in the first place or not, has outlived its usefulness. I think this…

Tainnor·654-point thread·

While I agree with the statements made in the original post, I'm afraid this thinking can be used as an excuse for avoiding any attempts at finding proper abstractions. Similarly to how the term "premature optimisation" is so frequently used by people unable to write efficient code to excuse for their lack of skill or laziness, despite the context and the times when those words were first used were vastly different and the author meant something else. IMHO abstraction should…

One of my all-time favorite HN comments is from the original discussion of this article: > Dependencies (coupling) is an important concern to address, but it's only 1 of 4 criteria that I consider and it's not the most important one. I try to optimize my code around reducing state, coupling, complexity and code, in that order. I'm willing to add increased coupling if it makes my code more stateless. I'm willing to make it more complex if it reduces…

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
3

100+ points or 50+ comments

Total points
1600

reference only — not used in Hall rules or ranking

Total comments
534

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2017-02-15The Wrong Abstractionlladnar10
2017-10-06The wrong abstractiongolangnews30
2017-12-31The Wrong Abstractionsigna1120
2018-07-20The Wrong Abstraction (2016)First breakout · Best threadLopRabbit717207
2020-01-12The Wrong Abstraction (2016)turingbook10
2020-07-05The Wrong Abstraction (2016)mkchoi212654240
2021-05-09The Wrong Abstraction (2016)cateof6417
2023-04-14The Wrong Abstraction (2016)salomon81221
2023-05-13The Wrong AbstractionHall induction · Latest 20+ point returnsigna1115469
2026-03-24The Wrong Abstractionmihau20