4 ms·
I consider his post fully appropriate, as I share his view of the quality of that aspect of the standard. The standard, for this specific issue, is so obviously
by acqq 8y ago
I consider his post fully appropriate, as I share his view of the quality of that aspect of the standard. The standard, for this specific issue, is so obviously unbelievably wrong, so much that it deserves the worst words to describe it, just to give the clearer view of wrongness to the readers.
- tptacek 8y agoAt this point, if that's true, he should have written his condemnation very carefully and subtly. People would flip their shit; Linus must really be mad now!
- acqq 8y agoWhat I read in your comments here is just "I know Linus uses strong language, and therefore I can't figure out if he's right or not." Which is wrong approach to your figuring out that. Instead, you can have only two approaches: - learn enough about the topic discussed to have your own opinion or - consider how often Linus was wrong in his "expert" opinions (From my point of view, he's almost always right, but you are free to give the example of the opposite if you have them) and use that as a starting point. Note: both approaches are completely independent of the speech figures of Linus' post, which is how it should be. I personally, for myself, came to conclusion that most of the time, specifically for the issues I know more than enough to have my own opinion, I can trust that Linus' opinion will match my. And if it doesn't happen, that he will probably still be right and I have to reevaluate my initial opinion. In this specific case, I would be very glad that people here try to even give some reasonable arguments why he would be wrong. Because "it's in standard" is not a valid argument, as soon as you accept that the standards definitely aren't guaranteed to be without even big errors. The most problematic attitude I see is exactly like 'ramshorns (parallel post) asking "How can the standard be wrong" (the right question would be "where is the standard wrong"). The answer to the former: A standard is just a document produced by a group of people trying to specify something. There's nothing that guarantees in any way that the product of any group of people doesn't contain errors. The answer to the later: In this case, the standard "resolution" of the real need is obviously wrong, because the "resolution" is pretending that the need doesn't exist. And the need not only exists but is fundamentally necessary for the use cases where C is being used: being "low level" enough not to incur unnecessary penalties to implement something that is "natural" on the hardware level. Unions were used for decades to fulfill exactly that specific need that the standard body somehow managed to "ignore" and the compiler implementers looking for a "loophole" to produce unusable code sadly want to use. Such attitudes, both by standard bodies and by such implementers are also wrong. edit: re tedunangst's "Linus is yelling. Do I care? Should I care? Is there any meaningful signal from the yelling" please read this my post again. I assumed I'm answering exactly this. And my opinion is really: you can assume Linus is right. He was so often right for such technical issues that it's a good start. Then, yes, care. Yes, you should, if the technical topics discussed have connection with what your work is. And if you don't program in C, and don't influence those who do, you can of course ignore the whole thing, but then the question is why are you involved now in the topic's discussion or consideration. And for those that believe that there is really no correlation between Linus using strong language and him being rightly against some "practice," they should provide some proof that such correlation is negative or doesn't exist, as much as I know, it exists and is actually positive, exactly for some big issues I care about.
- tedunangst 8y agoLinus is yelling. Do I care? Should I care? Is there any meaningful signal from the yelling to suggest that this is more important than, say, people who misspell commit messages?
- ramshorns 8y agoHow can the standard be wrong? Is what it says about aliasing unclear, impossible to implement, or what?
- platinumrad 8y agoThe standard massively conflicts with the practices used in existing C programs by existing C programmers. Yes, it's perfectly possible to write code that doesn't violate any of the (largely implicit, it's worth noting) strict-aliasing rules. But was it a good idea for the standard to allow optimizing compilers to silently break massive amounts of existing code that has worked for years? Even if that were acceptable, was it a good idea for the standard to disallow one of the more ergonomic and explicit ways (using a union) of reinterpreting an object as an object of a different type? Some good reads on this topic: https://blog.regehr.org/archives/1307 https://blog.regehr.org/archives/1307 http://www.yodaiken.com/2018/05/20/depressing-and-faintly-terrifying-days-for-the-c-standard/ http://www.yodaiken.com/2018/05/20/depressing-and-faintly-te... https://blog.regehr.org/archives/903 https://blog.regehr.org/archives/903 (See the end of Xavier Leroy's comment)