Python的未来在哪里?4年性能提升5倍,4.0也许永远不会来_普通网友的博客-程序员秘密_python 的未来

技术标签: python  后端  开发语言  

在最近的一次采访中,Python的创建者(现在在微软工作)吉多表示:

Python 4.0也许永远都不会有!我和Python核心成员对Python 4.0一点都不兴趣!

如果你因此担心Python的未来,那你就错了!吉多的这个表态可以说:

对开发者是一个重大好消息!让我们的头发掉的慢一点!

软件版本更新机制!!!

编程语言(包括其他软件)的更新一般包含三种不同类型:

大版本更新:比如从Python 2到Python 3
小版本更新:比如从3.7到3.8
补丁更新:比如从3.9.5到3.9.6
在这里插入图片描述
这些版本的名字不是随便用的,各有各的含义:

大版本更新:可能是完全不兼容的,语法有重大变化。比如用Python 2写的代码,到了Python 3完全不能运行,必须修改,必须大改!
小版本更新:基本保持兼容,至少不会有语法的变化。一般会引入一些比较重要的新功能,同时可能会有计划的淘汰一些库。对于要淘汰的库,会先发出Warning,告诉你过两个小版本会淘汰,建议现在就改写,然后在后面的某个小版本再淘汰。这种变化就算代码要改动,也是很简单的改动。
补丁更新:这种更新是完全兼容的,代码不用修改就可以正常运行在新版本上。在这里插入图片描述

不会有4.0是很长情的告白!!!

吉多说的“Python 4.0也许永远不会来”,不但不是坏消息,反而是一个很长情的承诺。

他在告诉开发者:

Python将来不会轻易有大规模语法变化,你可以大胆的学,它已经比较稳定了!

他们从Python 2到Python 3的大版本更新中得到了教训,代价太大了!

对于大型的Python程序,从Python 2到Python 3的升级是一个漫长而痛苦的过程,有时候要花几年的时间。

其实也给我的粉丝和广发Python学习者带来很大的困扰。有时候网上找资料,找到的是Python 2的代码,在Python 3上不能运行,浪费了时间,还被误导。

吉多说:

我们以为从2到3的升级应该是很简单的,因为我们都是Python编程界的爱因斯坦。我们可以睡着觉就把2给升级到3。

言外之意就是说:

可大部分人不是Python编程中的爱因斯坦,升级过程痛苦而漫长。

正是基于此,他们不会轻易去升级Python到4.0,保持语法基本不变,不会给开发者和学习者带来更多负担。

这不是说Python不会再改进。相反的,Python核心团队有很宏大的改进计划。

Python现在的更新节奏是每年一个小版本。比如2020年算是3.9,2021年是3.10,2022年是3.11。

他们会继续按照这个节奏更新下去,至少要更新到3.33,甚至更新到3.99。

这样一算:

二十多年,甚至八十多年,就过去了;
够我和我的粉丝用的了;
也够我们的儿子,甚至孙子用的啦。
3.11 性能提升2倍,向Rust, Go和Typescript学习
Python的应用非常广泛,但也经常因为性能的问题被人所诟病,所以Python核心团队的一个工作重点就是:

提升性能!

吉多和他的合伙人Mark Shannon曾说过:

3.11的运行速度会有非常大的提升!而且这个提升会持续下去,3.12,3.13会有继续的提升。

他们计划在接下来的4年中,让Python的性能提升5倍!

这种提升主要是优化cPython解释器,从内核上改变Python的运行方式,比如:

提升小整数(一个字节之内)的运算性能,
提升二进制操作的性能
更快的调用栈和返回值机制
更好的对象内存管理机制
更快的异常处理
其他解释器性能增强
除了在Python内部提升,吉多和核心团队也在积极的学习其他编程语言的优点,从中获得Python的改进思路。他提到了以下三种编程语言:

Rust
Go
TypeScript
这也给我们一些启示:这些语言很优秀,值得大神学习,也值得我们学习!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huang5333/article/details/121234268

智能推荐

OKHttp以文件形式上传图片_jianning-wu的博客-程序员秘密

AndroidOkhttp框架以文件形式上传图片以Post为例public Observable<String> postImageview(final String url, final MultipartBody requestBody){ //创建被观察者 Observable<String> observable...

LCD1602自定义符号的使用_Aprilis askua的博客-程序员秘密_lcd1602自定义字符

LCD1602自定义符号的使用在对LCD1602有了基本的了解与使用后,我们可以接着了解LCD1602的自定义字符的使用。要显示自定义符号,就得使用CGRAM存储器,LCD1602最多只可以显示8个自定义字符。CGRAM可以存储8个自定义字符,他们在存储器中的首地址分别为:0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78.把字模数据写入CGRAM,就需要从首地址中选一个,并将字模数据送入,切记要把CGRAM中的自定义字符再送入DDRAM,这样自定义字符才能够正常显示。

有5个学生,每个学生的数据包括学号、姓名、英语、数学、物理三门课的成绩,从键盘输入5个学生数据,要求输出每个学生3门课程的平均成绩,以及最高分的学生的信息。_拽拽惹人爱的博客-程序员秘密

**C++有5个学生,每个学生的数据包括学号、姓名、英语、数学、物理三门课的成绩,从键盘输入5个学生数据,要求输出每个学生3门课程的平均成绩,以及最高分的学生的信息(包括学号、姓名、3门课的成绩、平均成绩)。**在这里插入代码片#include<iostream>using namespace std;struct Student { int num; ...

html脚注如何设置,脚注怎么加(如何设置脚注格式)_weixin_39815031的博客-程序员秘密

原标题:(脚注怎么加(如何设置脚注格式))1、脚注编号花样变动若想变动脚注的编号花样,能够将光标定位在脚注的处所,然后右击挑选【便签选项】翻开脚注和尾注的界面,随后在【编号花样】中挑选带圈花样,点击运用便可。 PS:编号花样的变动还能够经由过程点击援用——脚注——下拉选项便可。 如果带圈字符凌驾11小于即是20的,就须要应用代码输入,好比要插进去11,我们要点击脚注和地位的界面,挑选符号,然后...

[BZOJ1826] 缓存交换_weixin_30338481的博客-程序员秘密

问题描述在计算机中,CPU只能和高速缓存Cache直接交换数据。当所需的内存单元不在Cache中时,则需要从主存里把数据调入Cache。此时,如果Cache容量已满,则必须先从中删除一个。 例如,当前Cache容量为3,且已经有编号为10和20的主存单元。 此时,CPU访问编号为10的主存单元,Cache命中。 接着,CPU访问编号为21的主存单元,那么只需将该主存单元移入Cache中...

OpenCV计算机视觉(四) —— 图像的阈值处理与自适应阈值Otsu_一只会飞的猪️的博客-程序员秘密_otsu自适应

文讲述了图像阈值处理的五种基本方法,同时介绍了自适应阈值方法,针对基本图像阈值处理采用Otsu获取迭代出最佳类间分割阈值,得到最好的阈值处理效果,使得图像分割出的特征更加明显有效。

随便推点

数组_学无止境0101的博客-程序员秘密

数组数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成的其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar; //首选的方法或dataType arrayReFVar;//效果相同但不是首选方法Java语言使用new操作符来创建数组,语法如下:dataType[] arra

在Linux下编写运行你的第一条代码——Hello Linux_Q-WHai的博客-程序员秘密

最近刚接触Linux,也是在啃那个公认的《鸟哥的Linux私房菜》。是的,的确讲得挺好的。现在看到第10章 vim程序编辑器。虽然鸟哥不太建议我们跳着来阅读他的文章,但是我还是跳了一两个章节没有阅读。别误会,我不是大牛。其实,知道vim也不是学到这一章才了解的。之前是知道的,也用过。不过想在vim中编写C代码的还就是刚刚的想法。于是,我做了一个实验。

jq插件(一) —— 列表及其相关操作_诺十一的博客-程序员秘密

JQ插件(一) —— 列表及其相关操作为了提高开发效率,我们可以把公共的东西以插件的形式做出来,只需要简单的调用即可。因为是基于jQuery做的,所以要提前先引入jQuery。1)、插件代码; //防止多个文件压缩合并以为其他文件最后一行语句(function ($, window, document, undefined) { var that = ""; var ta...

如何在 Windows 上安装ONLYOFFICE组织您的团队合作_q平面人的博客-程序员秘密

请移步至此,更详细:http://blog.csdn.net/hotqin888/article/details/79337881ONLYOFFICE是一个免费的、开源的企业办公套件,用于在线组织团队工作。这里介绍如何在您的局域网上安装一个,然后整个网络中的团队都可以同时协作文档,极大的提高工作效率和乐趣。ONLYOFFICE document server文档服务器为用户提供的word,exce...

卡住了?看我的! 练习2-12 输出华氏-摄氏温度转换表_一个好好学习的lv1程序员的博客-程序员秘密

题目:输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。输入格式:在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。输出格式:第一行输出:"fahr cel...

springboot的RedisTemplate实现分布式锁_long2010110的博客-程序员秘密_redistemplate实现分布式锁

使用RedisTemplate实现分布式锁时,需要配合lua脚本实现,直接看代码。 private static final Long SUCCESS = 1L; /** * 获取锁 * @param lockKey * @param value * @param expireTime:单位-秒 * @return ...

推荐文章

热门文章

相关标签