Looping [was Re: Python and the need for speed]

Steve D'Aprano steve+python at pearwood.info
Sun Apr 16 12:48:08 EDT 2017


On Sun, 16 Apr 2017 11:57 pm, bartc wrote:

> Yet countless other, far more elaborate features /are/ added all the time.

Indeed. Because they are needed. Because they add functionality that Python
doesn't already have, or seriously improves the interface to that
functionality.


> Technically, adding this one feature to Python /is/ trivial, for
> example, allowing while: as a synonym for while True:, but preferably
> using a new keyword such as loop. 

"Preferably using a new keyword"?

Dear gods, you really have *no clue* about the responsibilities of
maintaining a programming language used by tens of thousands of people.

Adding your new keyword will break thousands of peoples programs. That's not
to be done lightly, on a whim, just because you don't like the spelling
`while True`.


py> loop = True
  File "<stdin>", line 1
    loop = True
         ^
SyntaxError: invalid syntax


> Nothing else needs to be touched. 

Right. We don't need to test this new feature, because we have such awesome
mad skillz that of course it will work perfectly first time.

Nor do we need to document this new feature. We don't need to include it in
the "What's New" documentation, or include it in the tutorial, or mention
it in the list of keywords, or in the description of the grammar.

Documentation is for people who don't already know the source code because
they wrote it.

People will work it out for themselves. Eventually. After many hours, or
days, of pulling their hair out at why their working code has suddenly
stopped working after upgrading to a new Python version.

The only thing you could do that would be more irresponsible would be to
insist on introducing this new, undocumented, untested, unnecessary feature
in a bug-fix point release.

Ah, but I'm guessing that you don't understand the need for point releases
either? With only one user, yourself, who needs releases or version
numbers?


> And  
> it could have been done right at the start when the politics was simpler.
> 
> But people just don't want it.

Damn straight. Now you get it. It's not about how easy it is to implement,
it's about whether it is needed and wanted. It isn't needed, and it isn't
wanted.


> /That/ is what surprises me, when people reject things that to me are
> no-brainers.

Well, the thing is, there are two kinds of no-brainers. There are the kind
of things that are so obviously a good idea that it requires no brain to
want it.

And then there are the kinds of things that are so obviously a bad idea that
it requires no brain to want it.

Which is this, do you think?



-- 
Steve
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.



More information about the Python-list mailing list