Top all-time · #1390
Graham Lee
Personal blog · sicpers.infoprogrammingcareer
Graham Lee writes Structure and Interpretation of Computer Programmers, a personal blog at sicpers.info about programming and career. Since 2014, 50 different Hacker News readers have linked it 170 times, most often “Inheritance Often Doesn't Make Sense”. It is still writing: the last post was on 2026-10-22, and you can follow it by feed.
Too few sampled comments (17) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for essays on software discipline, process and object-oriented design, especially inheritance. "Discipline Doesn't Scale" is cited in several threads as a post to read.
- Recommended for · 4 comments
- Helped one commenter grasp OO inheritance problems; 'Discipline Doesn't Scale' urged as a read; a post called great.
Summarised by Claude from a sample of 17 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Writing code is hard. Software engineering is much harder. I'm Graham Lee, D.Phil. I help programmers become software engineers, software engineers become senior software engineers, and technology leaders ensure their teams are effective. I've done this at Facebook, Apple, and Oxford University, and
Most-linked posts?
- Inheritance Often Doesn't Make Sense5 people · 7 mentions · first linked 2018-03-17
- Discipline Doesn’t Scale5 people · 5 mentions · first linked 2020-10-19
- “Reasoning About Code” Is a Scam3 people · 3 mentions · first linked 2021-01-29
- Computing’s Fundamental Principle of No Learning3 people · 3 mentions · first linked 2017-12-29
- In which I misunderstood Objective-C2 people · 2 mentions · first linked 2021-09-20
- Six Colours2 people · 2 mentions · first linked 2020-08-18
- I have some small idea of what I’m doing2 people · 2 mentions · first linked 2021-11-30
- What Is Software Engineering?2 people · 2 mentions · first linked 2022-02-18
- When did people favor composition over inheritance?2 people · 2 mentions · first linked 2025-11-06
- One Person per Task2 people · 2 mentions · first linked 2021-04-08
What Hacker News says?
This reminds me a lot of another article posted here recently: http://www.sicpers.info/2017/12/computings-fundamental-princ... . This behavior makes sense for most people, those who don't know what they're doing, at the expense of rendering the tool useless in cases where advanced functionality is needed. Perhaps Google should have an advanced, AI lite version.
Comment linking /2017/12/computings-fundamental-principle-of-no-learning/
on “Google Memory Loss”Submitted Inheritance Often Doesn't Make Sense as a story · 416 points
HN discussionI've found the video here https://www.youtube.com/watch?v=adI6-liGXqE , he said something along the lines of "five dollars [not fifty cents] per device running Objective-C", that make me think he meant the runtime. I don't necessarily agree that the result would have been a rewritten runtime, just because the NeXT runtime (and compiler based on gcc) already was their own code so the licence must have been for "IP" i…
Comment linking /2020/07/so-whats-the-plan-part-1-what-was-the-plan/
on “Brad Cox has died”Submitted Discipline Doesn’t Scale as a story · 320 points
HN discussionDiscipline doesn't scale. https://www.sicpers.info/2020/10/discipline-doesnt-scale/ Add 10 people to your project and start forgetting some docs or failing to update them.
Comment linking /2020/10/discipline-doesnt-scale/
on “Cold Showers”Submitted When did people favor composition over inheritance? as a story · 230 points
HN discussionMy suggestion is Objective-C. It's just so weird to anyone who's never coded in it, that it will force you out of your comfort zone into new ways of thinking. The NS framework is probably the most well designed stdlib of any language ever, and the whole thing is inspired directly from Smalltalk. Protocol Oriented Programming [0] was also a real revelation for me, and I still apply those concepts anywhere I can. It's…
Comment linking /2015/06/protocol-oriented-programming-in-objective-c/
on “Learn more programming languages, even if you won't use them”Submitted Phrases in computing that might need retiring as a story · 183 points
HN discussionThis miserable blog post http://www.sicpers.info/2017/12/computings-fundamental-princ...
Comment linking /2017/12/computings-fundamental-principle-of-no-learning/
on “Ask HN: What was the best CS paper you read in 2017?”Submitted There is no “us” in team as a story · 155 points
HN discussionI'm all too aware of these many citations. A few years ago, I went to the trouble of chasing down most of the papers and books, and evaluating how well each of them supported the claim. To put it mildly, I was underwhelmed. For just one example, here's my treatment of Grady: http://lesswrong.com/lw/9sv/diseased_disciplines_the_strange... It's not just me. Here's another author of a book aimed at software professiona…
Comment linking /2012/09/an-apology-to-readers-of-test-driven-ios-development/
on “Professional Software Development”Submitted Zen and the Art of Software Maintenance as a story · 155 points
HN discussionAllow me to recommend another current HN front page article in response to this: “Discipline Doesn’t Scale”, https://www.sicpers.info/2020/10/discipline-doesnt-scale/
Comment linking /2020/10/discipline-doesnt-scale/
on “What ORMs Have Taught Me: Just Learn SQL (2014)”Submitted On UML as a story · 135 points
HN discussionAlso: https://www.sicpers.info/2020/10/discipline-doesnt-scale/
Comment linking /2020/10/discipline-doesnt-scale/
on “Apple’s A14 Packs 134M Transistors/mm²”Submitted The Atoms of Programming as a story · 131 points
HN discussionOne article that helped me to understand the OO inheritance problems understand much better is this one: https://www.sicpers.info/2018/03/why-inheritance-never-made-... It argues that there are three different kinds of inheritance and in OO you often mix them up into one hierachy - which may work in some situations, but in some it just can't. Personally, I've experienced this kind of conflict often enough.
Comment linking /2018/03/why-inheritance-never-made-any-sense/
on “Inheritance versus Composition”Submitted My proposal for scaling open source: don’t as a story · 123 points
HN discussionOn inheritance: https://www.sicpers.info/2018/03/why-inheritance-never-made-... On encapsulation: I joke that encapsulation on a level of an object is like putting a lockpad on your right pocket to protect your left hand from reaching to it. Normal people keep doors and locks at the entrance of a door or a room (module level), not on every single object they have. That's why OOP software tends to look so schizophren…
Comment linking /2018/03/why-inheritance-never-made-any-sense/
on “Why is OOP still so widely spread?”Submitted The challenges of teaching software engineering as a story · 118 points
HN discussionI agree the post is great (which is why I submitted it) but I also found the last couple of paragraphs kind of a let down, after nodding along enthusiastically for the rest of the article. The article links to this other post on a similar topic https://www.sicpers.info/2021/03/one-person-per-task/ . The advice there boils down to "hey, remember agile? Not just the 'use Jira' but, but the rest of it. That was a good…
Comment linking /2021/03/one-person-per-task/
on “There is no “us” in team”Submitted You say “cave dweller debugging”, I say debug logging as a story · 115 points
HN discussion> traditional gratuitous use of object classes for everything This sort of phrasing is sort of distressingly characteristic of contemporary discussions about object-oriented programming. I can understand where it comes from - if you look through my comment history, you'll probably find plenty of examples of me running my mouth about Java or the overuse of OOP in Python - but I assure you there is a baby in all of th…
Comment linking /2018/03/why-inheritance-never-made-any-sense/
on “Racket v8.3”Submitted YX Problem as a story · 109 points
HN discussionThanks! We've removed the anchor from http://www.sicpers.info/2017/11/the-atoms-of-programming/com... .
Comment linking /2017/11/the-atoms-of-programming/comment-page-1/
on “The Atoms of Programming”Submitted On null as a story · 102 points
HN discussionHere to recommend this article, really helped me to understand inheritance better. Liskov Substitution is just one aspect / type of it and may conflict with others. https://www.sicpers.info/2018/03/why-inheritance-never-made-...
Comment linking /2018/03/why-inheritance-never-made-any-sense/
on “Liskov Substitution: The real meaning of inheritance”Submitted Reasons to Dislike AI Coding as a story · 83 points
HN discussionThey do exist, but I do wish for more. We’re only a couple of decades away from software construction being a hundred years old (and a few from software _engineering_ being a century old) and I think it’d be wonderful to have some encyclopaedia-like resource that says “here’s everything we tried for the first hundred years, and why we do things this way at the end of it”. For my part, I try to contextualise the way…
Comment linking /podcast/episode-47-comprehensive-documentation/
on “Does the software industry learn?”Submitted Computing’s Fundamental Principle of No Learning as a story · 63 points
HN discussion