136
you are viewing a single comment's thread
view the rest of the comments
[-] FiskFisk33@startrek.website 11 points 2 days ago

question, why is a declaration not a statement?

[-] gratux@lemmy.blahaj.zone 36 points 2 days ago

from what i could find "because it was designed that way"

For what it's worth, C23 has updated labels to allow being placed before declarations.

[-] sik0fewl@piefed.ca 15 points 2 days ago

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.

[-] daychilde@lemmy.world 7 points 1 day ago

if an empty statement can be a statement.

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

[-] nebeker@programming.dev 4 points 1 day ago

And NOP is a perfectly reasonable instruction.

[-] balsoft@lemmy.ml 9 points 1 day 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!"
[-] terranoid@lemmy.cafe 5 points 2 days ago

When it's designed to be an expression

while (int x = 1) { ... Modify x to eventually be zero... }

That might make sense even if it looks weird. Kinda like a for loop.

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

Programmer Humor

33307 readers
505 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