祝您30岁生日快乐,Python:易于学习,并且在正确的时间提供了正确的工具

2021-02-21 07:40:59

功能2021年2月20日,即Python 30周年,发现编程语言是游戏的巅峰之作,但并非没有挑战。

"我确实相信Python如今没有适当的优先级,"在接受The Register的电子邮件采访中,软件监控业务Sentry的工程总监,流行的Python Web应用程序框架Flask的创建者Armin Ronacher说。

Ronacher是一名多产的Python贡献者,仍然是该语言的粉丝。他将Python的成功归功于易于学习和易于破解的实现。他说,在早期,Python没有很多具有相同特征的竞争对手。

"该语言的可破解性使许多使其成功的项目得以实现,例如NumPy等,这些项目通过用C编写的扩展模块扩展了该语言,而这在当时仅靠Python是很难做到的,&& #34;他说。 "某些支持NumPy之类的功能的功能已直接添加到语言本身,以支持这些更高级的用例。

"易于阅读,很长一段时间以来,它并不是太复杂的语言,它使您可以轻松访问内部结构,"他说。 "后者使您可以对运行时进行自省,而无需付出很多代价,这反过来又意味着在顶部构建Web服务是一种有趣的语言。当生产中出现问题时,您可以轻松找出正在发生的事情。"

他还指出了相对简单的运行时,这使得运行时性能更加可预测。 "虽然它不是一种非常快速的语言,但它在某种程度上可以弥补这一点,因为引用计数语义通常意味着在生产环境中内存使用情况在一定程度上是可以预测的,"他说。

"在过去的几年中,Python尚未做出最惊人的决定,他说。 "例如,我不喜欢采用Unicode的方式。对于Python 3,我希望可以采用更像Rust的Unicode模型,该模型只是将字符串声明为内存中的UTF-8。当涉及到Unicode以允许直接索引到字符时,Python 3非常浪费内存,而对于现代Unicode而言却没有太大用处。"

"许多功能使该语言的学习变得更加复杂,例如异步IO系统,键入支持的工作方式以及新的match语句,"他说。 "同时,仍然缺少诸如更好的包装故事之类的基本功能。

多年来,Python的软件打包工具(用于设置Python环境以及下载,安装和管理库的软件)的缺点一直是一个问题。漫画家兰德尔·芒罗(Randall Munroe)于2018年4月30日就该主题写了xkcd漫画,这已经够糟糕了。

从那时起,情况有所改善。在2019年,Python软件基金会(Python Software Foundation)授予包装工作组407,000美元,这是由Mozilla和Chan Zuckerberg Initiative提供的,以在2020年翻新pip包装管理工具。

尽管如此,Ronacher表示,他希望Python的核心开发人员专注于改进包装并增加并排加载同一库的不同版本的能力。

"在Python生态系统中安装软件包比其他软件包要复杂得多,并且打包基础架构与核心语言开发之间的联系太紧密了,他说。

"虽然Node现在开箱即用,而Rust随语言一起开发了货物包装管理器,但是Python仍然不认为包装是语言开发的一部分。结果,无数竞争的努力都拼凑在一起。"

" Rust程序员可以下载语言并使用集成的rustup + cargo工具处理所有事情,而Python程序员需要使用许多不同的工具来完成类似的任务,但是这些工具并不是一致开发的,罗纳彻解释道。 "与所有其他现代语言不同,Python也只能加载一个版本的依赖项。这意味着您的整个软件项目都需要在兼容版本上达成一致,随着生态系统的发展和运行速度的加快,难度会越来越大。

尽管与Rust广受好评的Cargo系统相比,Python的包装故事仍然受苦,但该语言从未如此流行。它的维护者一定在做正确的事。

作为对英国喜剧团Monty Python的致敬,该语言已成为编写计算机代码的人的第二或第三受欢迎的选择,具体取决于您要求的人。

该语言的创建者Guido van Rossum于2018年7月放弃了监督该语言的角色和他的名誉命题“仁慈的生活独裁者”。这是在就添加新的语言功能(&# 34; Walrus运算符" (PEP 572),这使范·罗森(van Rossum)对在线仇恨感到沮丧。

登记员要求范·罗瑟姆(van Rossum)在此场合发表评论,但他拒绝了,表示他对提升自己并不感兴趣。

Python目前由Python督导委员会管理,该委员会由五名成员组成,他们在功能发布期间任职,最近的一次是去年10月的Python 3.9.0。目前,该小组包括:巴里·华沙,布雷特·坎农,卡罗尔·威林,帕勃罗·加林多·萨尔加多和托马斯·沃特斯。

这五个负责监督对Python的技术更改并管理社区治理流程,该流程是基于Python增强建议(PEP)的流程。他们协调了90多个活跃的核心开发人员和Python社区的其他成员的贡献。

在2021年3月6日的过去20年中,Python软件基金会(PSF)支持了该语言的开发。它的目的是"促进,保护和改进Python编程语言,并支持和促进多样化的国际Python程序员社区的发展。"

" PSF与该语言本身的实际维护有些距离," PSF执行董事Ewa Jodlowska在接受The Register采访时说。 "但是,通过成立督导委员会,这为我们创造了一条可以与之沟通并处理未来资金需求的船只,这些资金可能会在他们缺少的某些方面为他们提供帮助。"

Python基金会发现在COVID-19大流行期间很难实现其筹资目标。根据Jodlowska的说法,该基金会的大部分收入传统上都是来自PyCon US。该活动是去年的虚拟活动,今年将再次举办,限制了潜在收入。

Jodlowska表示,PSF今年的目标之一是雇用一名专职核心开发人员,这一雄心壮志于2月11日实现,当时Google宣布计划向PSF捐赠超过35万美元,以支持三个项目:恶意软件检测Python软件包索引(PyPI)的系统; Python工具和服务的改进;并支付2021年CPython驻地开发人员的费用来进行语言维护。

CPython是用C编写的语言的参考实现,您可以从Python.org下载该语言。但是还有其他类似IronPython(C#),Jython(Java)和PyPy(RPython,Python子集)的软件。

当被问到使Python如此成功的原因时,Jodlowska提到了Python社区的重要性及其行为准则作为支持结构所起的作用。

" Python的维护者和核心开发者的多样性正在以多种方式解决,"乔德洛斯卡解释说。

她说,《行为准则》目前由指导委员会执行。她说,这很重要,因为在指导委员会成立之前,实际上并没有强制执行使社区讨论保持民间友好的态度。

从理论上讲,指导委员会的《行为准则》的执行将防止诸如Walrus运营商之类的辩论驱使van Rossum放弃其治理职责。但是,根据Python指导委员会成员Brett Cannon的评论来判断,缓和社区辩论只会使社区的摩擦点转移到其领导地位上。

在通过电子邮件询问Python社区面临的最大挑战时,Cannon说,这只是在努力跟上项目的规模和规模。

"我们仍然是一个由志愿者运营的项目,但是我们的规模需要大量时间才能继续运行,"他说。 "拒绝通常的反对者做出的任何决定,从时间和情感的角度来看,要管理很多事情。

在诸如Facebook和Microsoft之类的公司中,管理最糟糕的内容是,筛选有毒帖子和暴力视频的员工需要心理支持。在Python社区中管理有思想的开发人员可能不会产生同等程度的压力,但保持平庸的态度仍然会造成精神上的损失,尤其是在志愿者中间。

对于Python社区,吸引新人加入,以便其他人可以退后或委派,可能有助于减轻这种围困感。 Jodlowska感谢Python核心开发人员为保持社区的生命力所做的努力。 "例如,许多当前的核心开发人员在自己的时间指导下,有兴趣成为核心开发人员的其他人,"她说。这样肯定会有源源不断的新收入者。

注册-技术社区的独立新闻和观点。情境发布的一部分