Follow

The C Standard Does Not Protect You

thephd.github.io/your-c-compil

"...the behavior of C’s governing body is very clear. We will not introduce warnings into your old code, even if that old code could be doing something dangerous. We will not steer you away from mistakes, because that could shake the veneer that what your old code does is, in fact, wrong. We will not make it easier for new programmers to write better C code."

@cancel hahahaha f̵̞͟͞o̷r̰͇͎̞ ̡̝͍͍̥̗̖͖̲̮i͕͔̭̹̪̳͙͍̩ͅ ̷͖̙͈̗̯̙͓̲̻̩̱͖̺a̧̪̳̠̰̱͎̖̙̳̱͎̯̦̟͟m̶͓͔͉̺̩̙̖̞̼͈̖͇͇͇ ͇̘̬͕̯̕͢d͚o̢̳̱̙͠ͅg̴̨̦̬̥͓̯̩͞,̷̬͕͖͎̺͈̰̳̮͓̞ ͚d͎̀̕͢es̵̱͙̪͓͖͇̩̳̻͉͉̹̣͈͜͝t͖͈͉̩̭̙̺̬r̤̟̫͔̩̰̗̤͔̭̰̞̦̺ͅo̝̹̻ͅy̸͎͎͚̖̤̣̥̭̼̳͎e̘̟̰̣̫̹͇͍̦͓ͅr̙̙̳̠͔̙̖̯̺ͅ ̸̜̫̫̩̫̝͎̩̠̦̭̠̟o҉̛͢f̫̝͇ ҉̣̞̟a̪̲͎͇̣̠͖͖̮̥ͅl̷̛͈̦̰̜͍̲̟̬̘̝͕̰̮͠l̮̯̘͉̦͔̘̲̰̤͔̬̲͔

great article btw, thanks

@jeff @cancel “We make our language incompatible every iteration, making your old code incompatible and broken without the safety of telling you the changes first”
COBOL mentality.
@tuxcrafting

@cancel The problem isn’t C introducing warnings. The problem is C introducing warnings that you cannot fix. Mister “blithely ignore all qualifiers” thinks we shouldn’t be allowed to do dangerous things. Not that we’re required to clearly indicate it, and that we’re aware of what we’re doing. No, the fact that we can do something must be stopped!

People like that are why Rust has the “private:” keyword, trying to strongarm programmers into behaving, and only ending up with failed modularity. He’s the reason I can’t have named parameters to my functions, because (struct thingy){} is illegal and they say to use (struct thingy){0} even though their own macro language made it impossible to do that. He’s the reason I can’t use const variables, because it’s a -Werror to return const, but you can’t remove const from typeof(thingy). Because that would be dangerous!

Warning spam is bad. Really bad. He scoffs at us for throwing a temper tantrum at seeing a warning, when his own blog mentions “hefty several-gigabyte logs containing all the newest vomit of warnings.” It’s not just us gibbering in apelike delight when we see zero warnings pop up. When there are too many warnings, I miss seeing the important ones. So yes it is a very big deal to make C produce more warnings and it should only be done rarely if at all.

Sign in to participate in the conversation
Merveilles

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.