How to install Python package from source on Windows

Steve D'Aprano steve+python at pearwood.info
Fri May 19 00:12:52 EDT 2017


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.




More information about the Python-list mailing list