July 8, 2026
Unsigned? Unhinged.
Almost Always Unsigned
Programmers are fighting over tiny numbers, and the comments are absolutely savage
TLDR: A programmer argued that software should use non-negative numbers more often, saying they’re better suited for common tasks like counting and indexing. The community immediately split between “this is cleaner and safer” and “this is cursed code,” with plenty of sarcasm, pedantry, and eye-rolling along the way.
A fresh programming manifesto declared that coders are using the “wrong” kind of numbers far too often. The author’s big claim: most values in software never go below zero, so developers should stop defaulting to signed numbers and embrace unsigned ones instead. In plain English, this is a fight over whether computer counters and list positions should allow negative values at all. The article argues that unsigned numbers are unfairly blamed for bugs and even shows a weird-looking countdown trick that made the comment section instantly combust.
And combust it did. One of the loudest reactions was basically, just because you can write code like that, doesn’t mean you should, with readers side-eyeing the article’s wraparound countdown example like it had tracked mud into the house. Others rolled in with pure authority-flex energy: Stroustrup says one thing, Dijkstra says one thing, Google says one thing… and now a blogger says the opposite. Cue the internet’s favorite sport: turning a technical preference into a full-on philosophical cage match.
There was also some delightful nitpicking chaos. One commenter swooped in to correct the wording around “wrap” versus “overflow,” while another sighed that it’s kind of depressing that after all these years, basic fixed-size numbers are still this confusing. And because no tech thread is complete without someone promoting their own pet project, one reader dropped a GitHub link for a custom number-encoding scheme that supposedly beats several well-known formats. Classic comment-section behavior: one part debate club, one part stand-up comedy, one part unsolicited startup pitch.
Key Points
- •The article argues that many integers in programs, such as array indexes and loop counters, do not need negative values and therefore are suitable for unsigned types.
- •It says common safety objections to unsigned integers are overstated and that using signed integers does not eliminate arithmetic risks.
- •The article critiques a reverse-iteration pattern that casts `size` to `int64_t`, saying it can create narrowing-conversion issues and undefined behavior in C and C++ for large values.
- •It presents unsigned wraparound as a practical tool for reverse iteration in C and C++, using `for (size_t i = size - 1; i < size; i--)`.
- •The article compares language behavior across C, C++, Go, Rust, and Odin, noting that Rust debug builds trap unsigned underflow while constructs like reversed ranges offer a safe alternative.