Edition of Friday 6 November 2026

Do not ask "Is A a B?": Inheritance and the Is-A Trap

Comments on “Do not ask "Is A a B?": Inheritance and the Is-A Trap”

Claim-checked. Scored by all three judges, and its checkable claims were compared with the sources it cites. How far stories are checked

In an essay on Denkstein, the author argues that the "is-a" test for inheritance asks a question about English classification when the real issue is behavioral contracts. Square/Rectangle, UnitVector3 and Penguin all pass the test yet break the base type's promises. The author proposes the Liskov substitution principle plus a check on whether the two types change together. Java's unmodifiable lists are cited as a real-world case. The essay is opinion, and several historical and comparative claims are given without sources.

Read the original at denkstein.github.io. The judges saw only its text, with the site, the author and link domains removed; they are shown again after ranking.

Why it ranked

No. 16 of 109 with a score of 0.66. The panel rated it highest on technical depth (0.77) and audience breadth (0.76), lowest on significance (0.53). The judges disagreed most on new information (spread 0.78), so the story is marked contested. Placed No. 16, No. 30 by score alone: the placement terms moved other stories past it.

AI judgeJudge 2claude-haiku-5-5
Well-argued opinion essay on inheritance design with concrete examples (Square/Rectangle, Penguin, LSP). Strong practical relevance for developers, but a long-standing topic with no new information relative to recent stories.
AI judgeJudge 3gpt-5.6-luna
A technically grounded critique of the “is-a” inheritance heuristic, using concrete C++ and OOP counterexamples and LSP contracts to offer actionable design guidance. It is opinionated rather than novel research, with mostly sound but somewhat broad conclusions.

Each judge wrote its line after answering the rubric, with the site and the author still hidden. Every answer behind this is in the table under Score.

Score

0.66total under rubric v2.3Contestedjudges differ by 0.78 on new information

Judges’ mean answer per question, on a scale from 0 to 1. Questions marked minus count against the score.
  • Significance0.53
  • Reader interest0.74
  • Audience breadth0.76
  • Practical relevance0.75
  • Substantiated0.61
  • Technical depth0.77
  • New information0.67
  • Counts against: Promotional0.03
  • Counts against: Overclaim0.21

Each judge’s answer per question (0–1), their mean and spread, and what the question adds to the score (weight × mean).

QuestionJudge 1Judge 2Judge 3MeanSpreadWeightContribution (weight times mean)
SignificanceHow much does this change what people in tech know or can do?0.620.350.620.530.27+0.24+0.127
Reader interestWould a well-informed senior engineer or tech founder want to read this today, and likely pass it on?0.690.720.820.740.13+0.26+0.193
Audience breadthHow many people who build technology does it concern?0.880.670.720.760.21+0.13+0.099
Practical relevanceHow useful is it to someone who builds software or tech products?0.790.680.780.750.11+0.22+0.165
SubstantiatedHow well is it backed? Consider whether it is the primary source, and whether its main claims come with data, code, a demo, a reproducible method or citations.0.520.600.720.610.20+0.05+0.031
Technical depthHow technically substantive is it?0.830.700.780.770.13+0.05+0.038
New informationDoes it contain information absent from the stories covered in the last 7 days (list provided)?0.840.200.980.670.78 , above the contested threshold+0.05+0.034
PromotionalIs it mainly marketing with little substance (a press release, ad or sponsored post with no real information)? A launch post that carries real news is not promotional.0.050.030.010.030.04−0.19−0.006
OverclaimDo the headline or conclusions claim more than the body supports?0.260.200.180.210.08−0.11−0.023
Sum of contributions+0.657
Claim-check penalty0.000
Total, as published0.657

Spread is the highest minus the lowest judge answer. marks a spread above 0.40: the judges disagree, and the story is marked contested.

The badge for this ranking, for the author's page or anyone's: one line of HTML, and it links back here.

Ranked #16 on Rubric, 6 Nov 2026
<a href="https://rubric.hrih.si/editions/2026-11-06/16/"><img src="https://rubric.hrih.si/badge/2026-11-06/16.svg" alt="Ranked #16 on Rubric, 6 Nov 2026" width="238" height="28"></a>

Claim check

Claim check: 1 matches source · 6 no source given · 1 couldn’t check. Each claim is compared with the source the article itself cites; a flag is published only when both checkers agree.

  1. No source givenQuote

    In 1994 the Gang of Four listed "Favor object composition over class inheritance" as an early point in Design Patterns.

    The article gives no link or citation for it.

    The article says

    “In 1994, the Gang of Four listed “Favor object composition over class inheritance” as one of their early points in Design Patterns”

    The source says

    No source to compare with.

  2. No source givenDate

    Sean Parent gave a 2013 talk titled "Inheritance Is the Base Class of Evil".

    The article gives no link or citation for it.

    The article says

    “In 2013, Sean Parent sharpened the rhetoric in his talk titled “Inheritance Is the Base Class of Evil”

    The source says

    No source to compare with.

  3. No source givenFirst, only or fastest

    Go and Rust do not offer inheritance at all.

    The article gives no link or citation for it.

    The article says

    “Go and Rust do not offer inheritance at all, using different mechanisms entirely to support runtime polymorphism and code reuse”

    The source says

    No source to compare with.

  4. Couldn’t checkGeneralization

    The Square/Rectangle example comes from Robert Martin's article on the Liskov Substitution Principle.

    The source was unreachable, paywalled or too long, or the two checkers disagreed.

    The article says

    “The Square/Rectangle example is from this article on the Liskov Substitution Principle by Robert “Uncle Bob” Martin”

    The source says

    No passage could be compared.

    Source cited by the article: web.archive.org/web/20151128004108/http://www.objectmentor.com/resources/articles/lsp.pdf

  5. Matches sourceGeneralization

    The Circle/Ellipse problem has its own Wikipedia page.

    The cited source says the same thing.

    The article says

    “The Circle/Ellipse example has its own Wikipedia page”

    The source says

    “The circle–ellipse problem in software development (sometimes called the square–rectangle problem) illustrates several pitfalls which can arise when using subtype polymorphism in object modelling”

    Source cited by the article: en.wikipedia.org/wiki/Circle%E2%80%93ellipse_problem

  6. No source givenQuote

    The Penguin/Bird example is from Scott Meyers' book Effective C++.

    The article gives no link or citation for it.

    The article says

    “The Penguin/Bird example is from Scott Meyers’ book Effective C”

    The source says

    No source to compare with.

  7. No source givenCausal conclusion

    In Java, Collections.unmodifiableList returns a List whose add() throws UnsupportedOperationException, and List's contract was weakened to allow unsupported operations.

    The article gives no link or citation for it.

    The article says

    “Collections.unmodifiableList returns a List, and List has an add() function. But since an unmodifiable list cannot support that operation, calling add() throws UnsupportedOperationException”

    The source says

    No source to compare with.

  8. No source givenGeneralization

    Most containers with equivalent capabilities in other programming languages have no such failure mode.

    The article gives no link or citation for it.

    The article says

    “Most containers with equivalent capabilities in other programming languages have no such failure mode”

    The source says

    No source to compare with.

Also covered by

No other coverage was clustered with this story.

Elsewhere

Elsewhere: HN 1 pts, not on front page

Discussion on Hacker News

Recorded for context only, checked 6 Nov 2026, 05:47 UTC. It played no part in the ranking.

Panel for this edition

Four AI agents ranked this edition: three judges scored every story blind to its site and author, and a fourth compared the top stories’ claims with the sources they cite. Summaries are written by AI.

Model versions are pinned for every edition. How ranking works describes rubric v2.3.

Comments

Readers’ comments on this story have a page of their own, ranked by a public rubric rather than by votes.

Comments on “Do not ask "Is A a B?": Inheritance and the Is-A Trap”

More on Rubric

From the last 7 editions, chosen by shared topic, score and date.