Are the critiques in "All the things I hate about Python" valid?

Michael Torrie torriem at gmail.com
Sat Feb 17 23:59:13 EST 2018


On 02/17/2018 06:31 PM, bartc wrote:
> It could well do all that. But it surely cannot need 18,000 lines' worth 
> to do it; that much should be obvious to anyone. And in fact, for 
> building with MS's Visual Studio, it doesn't use that file at all, but 
> something smaller. (Although the MS build adds its own complexities.)

Hardly.

Sorry Bart, but you're barking up the wrong tree there.  There are may
legitimate complaints about autoconf, but being able to read the
generated configure script isn't one of them.  That's like saying the
disassembly of a compiled executable is needlessly complex. Of all
people you should understand that, having made your own compilers.

Managing a cross-platform build is very complicated stuff.  Autoconf
works, although there are other systems that work well too. I suspect
you'd complain about them also, as they also generate scripts and
makefiles that you'd find difficult to read.

> Anyway a lot of that stuff also seems to be going on inside the C header 
> files - have a look inside pyconfig.h. (I tried my own C compiler on it 
> and it seems to think it's MSVC.)

I'm pretty sure pyconfig.h is generated by the build system.  So
spending a lot of time in there isn't really that useful, except as a
way of determining what features and configurations will be used by the
rest of the source code.

If you think Python's C header files are complicated, you should look at
some of the GNU standard library header files sometime.  Or really any
cross-platform library's header files.

As I said, managing the configuration of source code across platforms is
a large and complicated problem.




More information about the Python-list mailing list