Python Twor 30(Guido Van Rossum采访)

2021-03-30 19:59:35

上个月,编程语言Python庆祝成立30周年。但如果没有团队维护它,这种语言可能从未像今天一样受欢迎。

要了解有关Python社区的更多信息,TechRadar Pro与Pablo Galindo,Bloomberg软件工程师和Python转向委员会五名成员之一发表过讲话。

他告诉我们关于Python开发模式,CPython核心开发人员的角色以及他如何在未来几年中看到的语言。

我有物理学的背景。作为我的博士学位的一部分。格拉纳达研究转为旋转黑洞,我发现自己用计算机模拟做了很多工作。我最终进入了那种方式的软件方面。几年后,我发现,实际上,物理和金融都利用了许多类似的高性能计算技术。

虽然我有C,C ++和Fortran的经验,但导致我到Python的是,它很容易开始尝试和用语言做事。如果您学习一块编程语言,您可以非常轻松地将其连接到其余部分。您也可以公开用C,C ++和Fortran编写的一些现有程序以及Python。随着社区与语言本身参与如此紧密的反馈周期,它不断迭代。

作为CPython核心开发人员涉及相当数量的责任。您负责实施新功能,从贡献者中审查提案,修复错误,照顾基础架构,并确保每个新版本尽可能稳定。此外,您还负责遵守Python核心开发团队的价值,并创建多样化和尊重的社区。最后一点非常重要,涉及许多“非技术性”技能,以了解不同的观点,背景和文化。

在我的日常工作中,我是Bloomberg的Python基础架构团队的一部分,这有助于照顾超过2,000名正在使用它来编写公司产品的各种功能和分析的工程师的Python体验。事实上,我们在Bloomberg拥有超过1亿行的Python代码。

我们的工程师还参加了Python生态系统,贡献甚至维持一些开源项目,在会议上发言,甚至托管活动。

除了我在布隆伯格的工作外,我最近还选出了Python指导委员会,我通过促进这种语言的未来为Python社区提供服务。

转向委员会的作用是冠军蟒蛇作为一种语言,确保其未来,并尽可能为其提供可访问和包容性。

我们是一组志愿者,在每个主要版本的Python后,确切的群体更改。最终,我们的大部分工作都是探索董事会和导管,从Python突出和充满激情的社区中出现的变化和改进。

就理事会与Python软件基金会的关系来说,PSF存在持有和管理Python品牌,通过像赠款一样,支持更广泛的社区和生态系统,每个人都依赖的后端服务以及最大的年度聚会对于Python社区,Pycon美国会议。与此同时,理事会专注于语言本身的当前和未来的状态和方向。

A PEP是一种Python增强建议,它是一个技术设计文档,用于描述Python的新功能,或其进程或环境。为这些主要受众为主要的观众是CPython参考解释器的核心开发人员,Python指导委员会的核心开发人员以及正在研究Python语言规范的其他实施的开发人员。

社区中的任何人都可以提交这些PEP,但经常审查并在将其正式地讨论一个想法,然后将其正式化为PEP可以帮助节省时间和挫折。讨论可以在社区的新闻组上进行,周围是否潜在的想法是原创的,或者可以基于先前给出的反馈来拒绝。

从那里开始,举办的一轮编辑审查和最终批准与转向委员会坐出。如果它符合最低标准,我们将达成判决,如果批准,则拟议的更改包括在未来的语言版本中。

谈到安理会关于PEP的权力,我们有广泛的权力接受或拒绝这些变化。但是,我们的目标是尽可能少地使用这些权力,而是专注于找到我们可以的共识。我们总是尽量从社区和核心开发团队中收集尽可能多的信息和观点。在某些情况下,不可能做出每个观点的决定。因此,转向委员会考虑所有可用信息,因此可以做出将使Python语言大的决定,为未来一致的愿景。

除了您与CPython的工作外,您还可以使用与您的背景相关的语言作为理论物理学进行大量模拟。您认为Python为此做了什么?

对于许多这些模拟,核心通常用诸如C或C ++的编译语言编写,通常使用一些加速器,例如CUDA,OpenMP等。与编译器语言不同,Python不需要您在编译代码时等待以后获得反馈。曝光核心,因此它可以在Python中使用,使迭代,测试和实验更容易。

该语言还与第三方代码库非常合作。例如,如果您有一个已经用快速语言编写的库,则Python将使用它,以便您可以与其他工具进行通信。这种集成通常导致Python被称为“粘合语言” - 它可以在不同的应用程序和代码库之间强力桥接。 Python还允许您以非常有效的方式创建自动测试,以及可视化,当您处理数值模拟时非常重要。

由世界各地的数学家,物理学家和科学家们进行的数据科学任务往往依赖于Python。 Python在Web服务后端的使用和其他面向服务的体系结构也是一个非常受欢迎的选择,我只能看到未来的发展。这些语言不仅提供了新功能,可以通过每次迭代提供这些类型的任务,但语法本身也会改变以适应这些用法。一个很好的例子是Python添加了一个新的infix运算符,使矩阵乘法更容易。预测语言的用途是非常困难的,这种语言如何随着时间的推移而增长,但似乎Python用于科学和数据工程的采用仍然显着增长,而且图书馆的生态系统也在增长。

与此同时,它也是第一次被引入软件开发的人的一个非常重要的网关语言。与任何其他开发人员社区一样,Python社区通常会在问题上拆分。不同群体与语言相关的需求和需求有时会彼此冲突。我的角色的重要组成部分是了解这些需求,并帮助绘制最能满足每个人需求的课程 - 以及语言本身。

为确保语言在所有这些领域保持竞争力,是我们,核心开发人员的重要性是使语言高效,并确保语法以使语言灵活和表现力的方式发展,而不会有害 对于第一次学习语言的那些用户。 我们努力确保Python尽可能快地保持迅速 - 这是一个特别具有挑战性的问题,给出了语言的动态如何 - 实现不同的复杂优化。 我们还必须记住,这种语言需要尽可能适用于新人,我们通过改进语法错误和文档来做。