this post was submitted on 21 Sep 2026
140 points (99.3% liked)

Programmer Humor

33385 readers
1095 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 3 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] sik0fewl@piefed.ca 16 points 1 week ago (2 children)

Possibly because declarations were originally not statements in C? You could only declare variables at the start of a function, but not assign them to something at the same time.

Not sure why it still wouldn’t be allowed, though, especially if an empty statement can be a statement.

[–] balsoft@lemmy.ml 9 points 1 week ago

I think it evolved like that:

  1. Declarations are separate entities to statements, because declarations do not translate to a machine code instruction
  2. Labels only make sense when attached to statements because they need to point to a particular machine code instruction <-- This should have been changed at least when declarations were allowed to be mixed with statements in compound statements
  3. Definitions are declarations plus an assignment, let's make them a subset of a declaration <-- I think this is the biggest mistake of them all
  4. "Well, it's already been that way for 40 years, too late to change it now!"
[–] daychilde@lemmy.world 7 points 1 week ago (1 children)

if an empty statement can be a statement.

Sometimes saying nothing is the loudest statement you can make. ;-)

[–] nebeker@programming.dev 4 points 1 week ago

And NOP is a perfectly reasonable instruction.