On Fri, 19 May 2017 10:40 am, Michael Torrie wrote: >> Since you are ultimately compiling the code in C, those ideas of >> undefined behaviour etc do apply. The behaviour of the C compiler doesn't >> suddenly, magically, change just because the code was generated by a >> program in another language. If <some code> generates warnings because it >> relies on undefined behaviour, it is still undefined behaviour regardless >> of whether you typed the code yourself or used a code generator. > > Of course not, and I don't think that was Bart's point at all. He was > just pointing out that some of the compiler warnings folks jumped all > over in his code stem from the compiler warning that the operator > precedence in certain expressions is often not what the programmer > wants. But since Bart is aware of the precedence (and that's part of > the C standard so there's no undefined behavior there), his generated C > expressions can lack parenthesis since they are already are in the > correct order of operations.
Indeed. But in the context of discussing the user friendliness of the build process, should we really expect that the user is aware that these warnings are harmless? I don't think so. In fact, that's a continual bugbear of mine. If you ever run something like Firefox or other Linux apps from the command line, the sheer number of warnings and non-fatal errors printed to stderr is daunting. Don't the developers care about fixing these errors? I really doubt they are all harmless: at best, some of them are harmless, but most seem to be more along the line of *not immediately fatal*. Of course failure to fix compiler warnings is one of the traits of "CADT" development (Cascade of Attention-Deficient Teenagers) that Jamie Zawinski talks about: https://www.jwz.org/doc/cadt.html but really, missing parentheses is a minor issue. Apart from contributing to a general impression of low quality (whether justified or not), I'm more or less willing to ignore the compiler's warnings about missing parens and unused variables. But warnings about uninitialised variables are a whole different kettle of fish. At least with Firefox and other popular applications, buggy or not, I can have some confidence that it won't accidentally format my hard drive because if it did, somebody else would have noticed it by now. That's not the case with a program with no, or a microscopically tiny, user base. Let somebody else take the chance of running it. > You can argue that this isn't the case if > you want, but I see no reason to doubt Bart's word in this thing. Sure > he could place parens in the expression to quiet the warning (might be > the best bet), but that is redundant and this is clearly a case of a > warning that can be ignored. I'm sure you'll claim otherwise, Not at all. I'm saying that requiring the user to know which warnings can be ignored and which cannot is hardly the epitome of user-friendly build process. Yes, building Python generates build warnings too. But if we are going to claim our process is better than Python's, then we better not have the same problems that Python has. > but > nevertheless this appears to be the case for this particular warning. > This was Bart's point but you and others have taken it far beyond that > and criticized him beyond what was reasonable. That's, like, just your opinion man :-) -- Steve Emoji: a small, fuzzy, indistinct picture used to replace a clear and perfectly comprehensible word. -- https://mail.python.org/mailman/listinfo/python-list