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

Chris Angelico rosuav at gmail.com
Sat Feb 17 19:45:35 EST 2018


On Sun, Feb 18, 2018 at 11:13 AM, bartc <bc at freeuk.com> wrote:
> On 17/02/2018 22:09, Chris Angelico wrote:
>>
>> On Sun, Feb 18, 2018 at 8:50 AM, bartc <bc at freeuk.com> wrote:
>
>
>>> That's a very interesting observation.
>>>
>>> I've frequently made the complaint about systems that I consider large
>>> and
>>> complex also leading to such issues, where no one individual can see the
>>> whole picture.
>>>
>>> For example, in the system used for building CPython from source.
>>>
>>> But I guess what you're describing doesn't apply in such cases. Those 20K
>>> or
>>> 30K lines of configure scripts really /are/ necessary!
>>>
>
>>    18321 configure
>
>
>> The largest one here is "configure", but that's only in the repository
>> to remove a dependency. You can delete it and then run "autoconf" and
>> it'll be regenerated from configure.ac. With that removed, the largest
>> file is about 5K lines, and all these files put together make up only
>> 16K lines. If you're reading 30,000 lines of configuration script,
>> you're basically reading object code.
>
>
> Try looking inside it. It's not object code. It's a bash script that seems
> to doing a lot of pointless stuff. And why is it necessary if it's generated
> from the configure.ac; they could just supply that. Not that that seems to
> be doing anything less doing any less pointless.

It's text, but it is an intermediate or "object" file. It's not doing
pointless stuff; it's coping with the myriad platforms and variants
that Python has support for. And did you even read my previous post?
You need autoconf to generate it; without configure, you need another
step in the build AND another program installed. So the object file is
committed to remove a dependency.

>  It's like calling dis.dis() on a
>>
>> Python function and then complaining that it's long and unreadable.
>>
>> Stop making unfair criticisms if you want people to take you seriously.
>
>
> My point about systems so complex that you can't understand the whole thing
> still stands, and it applies to a lot of things I come across.
>
> The CPython source is just a topical example. Do /you/ know for sure that
> there is no dead weight in there? Or do you just accept it because, after
> all, the thing works [for you], and it doesn't matter if it's bigger and
> slower than it needs to be.

You're welcome to go through CPython to find unnecessary code if you
like. Just read the SOURCE CODE, not the intermediate files. Stop
exaggerating the situation.

ChrisA



More information about the Python-list mailing list