写点什么

Python 之父:Python 4.0 可能不会有了

  • 2021-06-23
  • 本文字数:1988 字

    阅读完需:约 7 分钟

Python之父:Python 4.0可能不会有了

别把希望寄托在 Python 4.0 上。

 

Python 之父 Guido van Rossum 最近在接受微软 Reactor 的采访时被问到 Python 的未来,以及 Python 是否会发布 4.0 版本。他直言,Python 4.0 可能永远不会出现在世人面前。

 

采访视频链接:https://www.youtube.com/watch?v=aYbNh3NS7jA

 

Van Rossum 表示,他和 Python 的核心开发团队成员对 Python 4 的想法并没有太多兴趣,而且在 2008 年作为最终版本发布 Python 3 时,大家就已经从 Python 2 到 Python 3 的过渡期吸取了足够的教训。

 

他提到:“我对 Python 4 的想法并不感到兴奋,核心开发团队中也没有人真正对此感到兴奋:我们更有可能继续编号,至少会编号到 3.33。”

 

“Python 4,在这个问题上,无论是什么时候,只要核心开发团队一提到它,基本只是当做一个玩笑……我们已经从 Python 3 和 Python 2 中学到很多东西,因此,在严肃的意义上,谈论 Python 4 几乎是一个禁忌。”

 

Python 2.7.18 是 Python 2.7 生命周期中的最后一个版本,于 2020 年 4 月发布。Van Rossum 曾警告说,Python 3 将不会与 Python 2 兼容,那些创建了基于 Python 2 的软件库的依赖关系的开发者无法升级到 3.0 版本

 

这个过程既缓慢又痛苦,持续了好几年,很明显,Van Rossum 和公司并不急于重新开始。

 

“因为 Python 比核心开发者所认识到的更加成功,所以我们应该对 Python 有更深的认识,并且支持从 Python 2 过渡到 Python 3。”van Rossum 说。

 

“以我们的经验来看,我们认为过渡会比较简单,因为我们都是 Python 编程的‘爱因斯坦’,可以在睡梦中把代码从 Python 2 翻译成 Python 3。”

 

Van Rossum 并没有完全排除 Python 4.0 的可能性,但他暗示,这只有在与 C 兼容方面有重大改变时才有可能出现。他说:“我可以想象到,在某个时候,我们被迫放弃某些二进制或 API 与 C 扩展的兼容性……如果不改变语言本身,C 扩展就会有明显的不兼容性;如果我们能摆脱 GIL(global interpreter lock,全局解释器锁);如果其中一种或两种出现,我们可能会被迫调用 4.0,因为 C 扩展层面的兼容性问题。”

 

不过,由于 Python 3.10 预计将在 10 月发布,而 3.11 版本预计将会有一些重大的速度改进,因此,van Rossum 强调说,在尽可能长的时间内,发布编程语言的增量更新是重点。

 

“我们现在有严格的年度发布计划,因此,在 Python 3.10 之后将是 3.11,之后将是 3.12,以此类推。在我们不得不再增加一个数字之前,我们可以上升到 3.99。再加一个数字并非完全微不足道,但还是比从版本 3 到 4 好得多。”

 

“Python 的加速是渐进式的。在 3.11 里会出现一些新的速度,然后我们再用 3.12 和 3.13 加速,以此类推。”

 

Python提速是 Python 核心开发团队的第一要务,van Rossum 在今年的语言峰会上宣布,他的目标是在 3.11 版本中将 CPython 的性能提高一倍

 

van Rossum 在采访中还提到了外部项目为加快语言速度所做的努力,包括 Pyston,这是 Python 3.8.8 的一个实现,在开源之前从 Dropbox 开始的。它的创造者最近发布了 Pyston 2.2,承诺比 CPython 3.8.8 的性能提高 30%。

 

“让 Python 更快,我想说的是,突然又回到新闻头条了。但愿通过我的团队,我能在这方面做些贡献,因为我确实对该领域有所了解。”van Rossum 说。

 

“现在,我们感觉到我们有一年左右的时间来证明我们能够在 Python 性能方面有所作为,3.11 将大大超过 3.10。”

 

Van Rossum 还谈到了他对其他编程语言的看法,他说他非常欣赏 Rust 提高 C++ 代码的能力,并认为 Go 是新“Pythonic”编程语言中最有趣的一种。

 

这位 Python 之父还描述了 Python 如何在近几年开始把 TypeScript 作为事情发展的决定性因素。“你可能已经注意到,在过去的六、七年中,我们一直在向 Python 添加可选的静态类型,也被称为渐进类型。”他说。

 

“事实上,当我们开始这个项目时,我并不知道 TypeScript,所以我不能说我们最初是受 TypeScript 的启发……现在,我们肯定会关注 TypeScript 的示例,有时我们会提出新的特性,因为我们知道某些特性最初是在 Typescript 中没有的,然后会根据用户的需求将其添加到其中,并取得了巨大的成功。”

 

Van Rossum 说,Python Python 仍然在试图重新创建其中一些成功案例。“Anders Hejlsberg 是一个非常聪明的家伙。TypeScript 已经完成了一些 Python 还在等待处理的工作。”

 

译注:Anders Hejlsberg,1960 年 12 月出生于丹麦哥本哈根,曾在丹麦科技大学学习工程学,计算机科学家。Turbo Pascal 编译器的主要作者,Delphi、 C# 和 TypeScript 之父,.NET 创立者。)

 

“从我与 Anders 的交谈中,TypeScript 听起来也是在向 Python 学习,就像 JavaScript 在一些领域向 Python 学习一样。”

 

原文链接:

 

https://www.tectalk.co/why-python-4-0-might-never-arrive-according-to-its-creator/#comment-155

 

延伸阅读:

 

《Python之父:让 Python 快2倍》

2021-06-23 14:4011920

评论 3 条评论

发布
用户头像
C,Java,C++已经离开父亲独立生活,Python什么时候离家。
2021-07-26 11:31
回复
用户头像
2021-07-16 16:29
回复
用户头像
太好了,终于可以来学一门不存在兼容性问题的语言了。
2021-06-30 16:20
回复
没有更多了
发现更多内容

架构师 01 期,第十周课后作业

子文

架构师训练营 - 第 10 周课后作业(1 期)

阿甘

技术选型总结二

Mars

技术选型

BATJ一线大厂面试必问的4大框架源码,该如何学习?

Java架构师迁哥

第六周学习总结

晴空万里

架構師訓練營第 1 期 - 第 10 周作業

Panda

架構師訓練營第 1 期

架构师训练营第二期 Week 6 总结

bigxiang

极客大学架构师训练营

Elasticsearch配置和集群维护

Rayzh

ELK 日志 Elastic Stack

周练习 10

何毅曦

食堂就餐卡系统设计

ルンルン

「架构师训练营第 1 期」第十周作业

张国荣

架构方法 - 学习笔记

心晴雨亦晴(~o~)

第 10 周 作业

Pyr0man1ac

关于微服务架构

天天向上

极客大学架构师训练营

架构是训练营第 10 周作业

郎哲158

训练营第六周作业

大脸猫

极客大学架构师训练营

第六周 cap原理

落朽

第十周总结

orchid9

第六周 cap原理

Geek_9527

LeetCode题解:121. 买卖股票的最佳时机,一次遍历,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

【架构师训练营第 1 期 10 周】 作业

Bear

极客大学架构师训练营

Week6 (技术选型二)作业1

Sean Chen

【第十周】课后作业

薇凉

Netty源码解析 -- FastThreadLocal与HashedWheelTimer

binecy

源码 Netty

JVM垃圾回收

少林寺三毛

JVM

第 10 周 模块分解

Pyr0man1ac

架构师训练营第六周作业

李日盛

CAP

架构师训练营第二期 Week 6 作业

bigxiang

极客大学架构师训练营

架构是训练营第 10 周学习笔记

郎哲158

CAP原理简述&Doris 临时失效处理过程

Mars

CAP原理

week1总结

ルンルン

Python之父:Python 4.0可能不会有了_语言 & 开发_TecTalk_InfoQ精选文章