> On May 8, 2018, at 11:48 AM, Brett Cannon <br...@python.org> wrote:
> 
> 
> 
>> On Tue, 8 May 2018 at 08:26 Craig Rodrigues <rodr...@crodrigues.org> wrote:
>>> On Mon, May 7, 2018 at 2:24 PM Barry Warsaw <ba...@python.org> wrote:
>>> On May 7, 2018, at 11:49, Craig Rodrigues <rodr...@crodrigues.org> wrote:
>>> > 
>>> > Would it be reasonable to request a 10 year moratorium on making changes 
>>> > to the core Python language,
>>> > and for the next 10 years only focus on things that do not require core 
>>> > language changes,
>>> > such as improving/bugfixing existing libraries, writing new libraries, 
>>> > improving tooling, improving infrastructure (PyPI),
>>> > improving performance, etc., etc.?
>>> 
>>> IMHO, no.
>>> 
>>> I don’t believe that the way for Python to remain relevant and useful for 
>>> the next 10 years is to cease all language evolution.  Who knows what the 
>>> computing landscape will look like in 5 years, let alone 10?  Something as 
>>> arbitrary as a 10 year moratorium is (again, IMHO) a death sentence for the 
>>> language.
>>> 
>>> But I do think it makes sense to think about how Python-the-language and 
>>> CPython-the-reference implementation can better balance the desire to 
>>> evolve vs the need to concentrate on improving what we’ve got.  With that 
>>> in mind, it does make sense to occasionally use a moratorium release to 
>>> focus on tech debt, cleaning up the stdlib, improve performance, etc.
>>> 
>>> CPython’s 18 month release cycle has served us well for a long time, but I 
>>> do think it’s time to discuss whether it will still be appropriate moving 
>>> forward.  I’m not saying it is or isn’t, but with the release of 3.7, I 
>>> think it’s a great time to explore our options.
>>> 
>> 
>> 10 years is a long time for many types of applications, such as web server 
>> and desktop applications
>> where regular and somewhat frequent upgrades can happen.
>> However, I have worked on embedding Python in networking and storage devices.
>> It is true that many of these types of devices can also have their software 
>> upgraded,
>> but often the frequency of such upgrades is much slower than for 
>> conventional web server and desktop applications.
>> Upgrades of these devices usually spans user-space and kernel/device 
>> drivers, so
>> upgrades are usually done more cautiously and less frequently.
>> 
>> For Python 2.x, the ship has sailed.  However, 10 years from now, if the 
>> Python language
>> is pretty much the same as Python 3.7 today, that would be nice.
> 
> Then feel free to stay on Python 3.7. We have versioned releases so people 
> can choose to do that. :)

Also, you can pay people to support old versions, and sometimes even backport 
features you need. So I think this use case is already covered. You just can’t 
expect to hold up language development because you want to have a stable 
supported version. 

Eric 

>  
>> 
>> I'm not stuck on the number "10 years", but I am just throwing it out there 
>> as a draft proposal.
>> So even 5-8 year moratorium would be nice to strive for.
> 
> Timespans of that length are still too long to freeze the language. Look at 
> it this way: node.js 0.10.0 was released 5 years ago and now it's a thing. If 
> we had not moved forward and added async/await in Python 3.5 -- which was 
> only 3 years ago -- but instead froze ourselves for 5 years would we be 
> considered relevant in the networking world like we are, or viewed as 
> somewhat as a dinosaur?
> 
> I realize the embedded world moves at a different pace (as well as other 
> groups of developers), but that doesn't mean we have to move at the speed of 
> our slowest adopters to punish those willing and wanting newer features.
>  
>> 
>> 
>> Outside of the embedded space, I will give another example where folks in 
>> industry are behind.
>> I don't want to pick on a particular vendor, but from April 24-26, I 
>> attended training sessions at RedisConf18 in San Francisco.
>> During the training sessions, multiple sample Python code examples were 
>> given for accessing the Redis database.
>> The instructor thought that the code examples worked in Python 3, but in 
>> fact, they only worked in Python 2 mostly due to
>> bytes/unicode issues.  During the class, I fixed the examples for Python 3 
>> and submitted the patches to the instructor,
>> who gratefully accepted my patches.  However, there are going to be many, 
>> many users of Redis out there who
>> maybe will not upgrade their Python code for newer versions of Python for 
>> many years.
> 
> Why is Redis specifically going to be behind specifically? Are they embedding 
> the interpreter?
>  
>> 
>> Besides Redis users, I am seeing all sorts of communities and companies 
>> which are behind in terms of having working
>> code and documentation that works on latest Python 3.  It is going to take 
>> YEARS for all these communities and companies
>> to catch up (if ever).
> 
> And that's fine. If they want to continue to maintain Python 2 and stay on 
> it, or simply stick with our final release and never worry about potential 
> security issues, that's their prerogative. But once again, we shouldn't have 
> to hold up the entire language for the slowest adopters.
>  
>>  
>> I understand that Python as a language must evolve over time to succeed and 
>> thrive.  But I would request that
>> at least for the next 5-10 years, a moratorium on language changes be 
>> considered, to allow the world to catch
>> up in terms of code, documentation, and mind/understanding.
> 
> 5 years is 3-4 releases, 10 years is 6-7. That's basically saying we should 
> still be like 3.3/3.2 or 2.7, both of which I don't think the majority of 
> people want (I know I am a happier programmer in 3.6 than I am in any of 
> those versions).
>  
>> 
>> 
>> Looking back at how the Python 2.7 EOL was extended by 5 years, I would 
>> remind the core Python developers
>> that it is very easy to underestimate how slow the world is to change their 
>> code, documentation, training,
>> and understanding  to adapt to new Python versions.  Going slow or imposing 
>> a moratorium wouldn't be such a bad thing.
> 
> I think a better way to phrase this is, "should we not change the language 
> because there are still people on Python 3.3? We've already stated many times 
> that there won't be a major language upheaval like 2/3 ever again, so we are 
> only talking about changes on the order of e.g. 3.5/3.6. And for me, I like 
> what we have added. I am certainly not about to ask anyone to give up 
> f-strings and deal with those pitchforks. ;)
> 
> And if people don't upgrade then people don't upgrade. We have all the old 
> versions of libraries on PyPI, so people can continue to use the libraries 
> that they were depending on when they choose to not move forward with Python 
> releases and continue to function.
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/eric%2Ba-python-dev%40trueblade.com
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to