HN Hall of Fame Weekly email

Why numbering should start at zero (1982)

www.cs.utexas.edu Essays & writing Essays & articles Computer science Class of 2016-12 Hall of Fame
Screenshot of www.cs.utexas.edu captured 2026-07-20
Page preview · captured 2026-07-20

The originally submitted URL now redirects to the address above. Updating the destination does not change the item’s HN history, Hall membership, or rank.

Resurfaced independently across 10 calendar years, with breakout response in 5 of them.

submissions
17
submitters
16
observed span
2009–2023
peak thread · 220 comments
169 pts
latest 20+ return · 2023-07-16
31 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

Depends on whether you're measuring or counting. The article mentions Mesa's interval syntax, which gave programmers all the possible options: [1..100] (0 .. 101) [1 .. 101) [1 .. 101) were all the same interval, 1 to 100 inclusive. Bad idea. Great way to get off-by-one errors. Another bad idea from that era - Wirth's insistence that you shouldn't be allowed compile-time arithmetic in Pascal. Like. const tabsize = 100; var tab: array [0..tabsize-1] of integer; { NOT ALLOWED }…

Animats·169-point thread·

Dijkstra's argument is obsolete. Iterators have largely replaced the explicit specification of integer ranges in loop control. Also, the recent rise in programming with multidimensional data invites the question of why matrix integer indices should include zero, which Dijkstra's essay doesn't address. Likewise, the increasing use of real variables in software invites asking whether an elegant syntax for specifying integer ranges applies equally well when used for real ranges, since <= operators make less sense…

You use zero and one-based counting for different things. Mixing them up is where fencepost errors come from. Say you're counting the length of a fence, so you are numbering the posts. Of course it's preferable to number the posts starting at zero, because after having numbered N posts, you know the length of the fence is N. On the other hand, if you are counting the posts themselves, you would want to say "one!" after the first post, as…

TOGoS·67-point thread·

For my MSc thesis I'm programming some stuff for the Cell B.E. processor. It provides AltiVec vector instructions which allow quick parallel computation. It's great for getting nice speed ups, but it requires a lot of thought and bit twiddling from time to time. It has two C "intrinsics" called vec_mule() and vec_mulo(). These take in two vectors of integer datatypes (char, short) for multiplication and produces one vector with items that are twice as big. char becomes short, short…

lucumo·48-point thread·

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
5

100+ points or 50+ comments

Total points
544

reference only — not used in Hall rules or ranking

Total comments
672

reference only — not used in Hall rules or ranking

Every submission