0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

仁慈的独裁者“Python之父” 打发时间才创造Python

工程师人生 来源:百家号 作者:AI科技大本营 2021-01-26 10:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Python语言自从20世纪90年代初诞生至今,在处理系统管理任务和Web编程方面得到了广泛的应用,使用率一路飙升。随着人工智能和大数据开发的快速发展,Python成为最受欢迎的程序设计语言之一。

Python如此火热,下面笔者想和大家分享下它的发明者——“Python之父” 吉多范罗苏姆(Guido van Rossum)(下文统称范罗苏姆)的故事。

数字时代的传奇英雄

范罗苏姆于1956年1月31日出生在荷兰,1982年在阿姆斯特丹大学获得数学和计算机科学硕士学位。此后,他先后在多个研究机构供过职,包括荷兰阿姆斯特丹的国家数学和计算机科学研究学会(CWI)、美国马里兰州盖瑟斯堡(Gaithersburg)的国家标准及技术研究所(NIST)以及弗吉尼亚州雷斯顿(Reston)的国家创新研究公司(CNRI)。

1989年,范罗苏姆创建了Python语言,并将Python语言推广到全球。

2005年12月,范罗苏姆加入Google,Google之所以向他伸出橄榄枝就是看中了他的Python语言,而范罗苏姆接受的条件则是允许他用一半的工作时间来维护Python, 版权归他自己。在Google,范罗苏姆的工作任务是用 Python编写面向网页的代码浏览工具。

2013年1月,范罗苏姆离开Google进入Dropbox工作,说起来,范罗苏姆与Dropbox的缘分可以追溯到公司成立的第一天,据说Dropbox的首席执行官安德鲁·豪斯顿(Andrew Houston)为Dropbox编写的第一行代码所使用编程语言正是Python。而Dropbox服务器和桌面客户端软件,几乎都是用Python编写而成,这也是吸引范罗苏姆加入其中的原因之一。

2019年10月,范罗苏姆从Dropbox隐退,正式开始了他的退休生活。

为打发时间创造Python?

对于范罗苏姆创造Python的缘由,外界传言乃至他本人的说法都是那只是他为了打发时间偶然间设计出来的。

事实上,这并非偶然,范罗苏姆在那之前早已积攒了足够多的的经验,这才能够看似不费多大力气便能创造出一种全新的编程语言。

早在范罗苏姆取得硕士学位的同一年,他加入了CWI(数学与计算机科学国家研究所)。在这期间,范罗苏姆参与一种高级编程语言的研发——ABC,这是一种以教学为目的的计算机语言。尽管它比当时流行的BASICC语言更易阅读和使用,甚至也方便人们的记忆和学习,但是它并没有像BASIC和C那样在编程界流行开来。范罗苏姆认为这其中的原因与它没有开源有关,但他仍希望把编程语言变得“让用户感觉更好”。

1989年圣诞节,闲来无事的范罗苏姆想起之前开发ABC语言时还留下些问题没有解决,于是他决定写个脚本解释语言来打发时间,由此便诞生了Python。

之所以取名为“Python”,有两个原因,一是范罗苏姆最初认为运用UNIX系统或C语言的黑客们将是他的新编程语言的目标用户;二是他喜欢看著名的系列喜剧《蒙提派森的飞行马戏团》(The Monty Python‘s Flying Circus)中的“Python”一名给他留下了深刻的印象。

鉴于之前ABC语言因没有开源而失败的教训,范罗苏姆很快将Python语言上传至开源社区,并且实现了ABC语言未曾实现的部分功能。

Python语言因它的简洁性、易读性以及可扩展性,受到了许多用户的欢迎,自2004年后的使用率更是呈线性增长。

仁慈的独裁者

自Python正式推出后,范罗苏姆一直领导Python社区,并被称为“仁慈的独裁者”(Benevolent Dictator For Life)。

据说这个头衔同样出自那部《蒙提派森的飞行马戏团》,剧中的“独裁者”林纳斯是一位残暴不仁的暴君,范罗苏姆跟他毫无相像的地方,跟“暴君”根本沾不上边。人们送他这一称谓的意思是范罗苏姆时时关注着Python的开发进程,并且在社区内有最高权限,能够在必要的时刻做出决定。

Python的每一次改进方案被称为“PEP”(Python Enhancement Proposal),范罗苏姆会亲自签署并确认每一份PEP,这也是他被称为“独裁者”的一个原因,与此形成鲜明对比的是,PHP的类似改进都是通过全民投票完成的。

不论是在谷歌工作,还是在Dropbox任职,范罗苏姆始终将自己50%的精力放在了维护 Python上。由此可见,范罗苏姆始终对自己“独裁”下的帝国保持着高度的热情和关注。

值得一提的是,这位“仁慈的独裁者”去年曾在推特表达了他对 996 工作制的看法,他认为那是不人道,呼吁大家关注这事,并在Python官方论坛中发表了一篇名为《Can we do something for 996 programmers in China?》的帖子。

隐退

2018年7月6日,范罗苏姆通过开发者邮件组宣布要“移交权力”。据说导火索是因为PEP 572引入了新的语言特性“赋值表达式”这一 Python 增强建议被通过,三天后,范罗苏姆无奈地表示:“我简直要被PEP 572的反馈意见淹没了。”

“现在PEP 572已经完成,我不再想为一个PEP这么努力争取,还有这么多人看不上我的决定……”范罗苏姆在邮件中表示,“我将完全退出决策层,但仍将作为一名普通核心开发者继续做一些指导性工作,我不一定还能腾出更多时间,但我会给‘仁慈的独裁者’一个永久的假期。”

谈及退位的原因,他在《Python 之父谈放弃 Python:我对核心成员们失望至极!》中谈到:“实际上,最近十年,退休的念头都在我脑海里徘徊。我年龄已经不小了,身体也有一些问题。作为 Python 社区的主要负责人,我需要一遍又一遍地去教社区的其他成员如何开展工作,同时需要一遍又一遍地向 Python 新人解释 Python 的语言哲学,这样超负荷的工作让我的健康状况更为恶化。

事情的引爆点在于一个颇具争议的 Python 改进提案(PEP 572),当我接受这个提案之后,Twitter 等社交媒体上出现了一些中伤我的评论。而更为心寒的是,这些评论居然大多来自 Python 的核心成员,我对他们失望至极!”

范罗苏姆没有留下任何管理原则或指定继任者,并表示这些问题无论如何都会出现,Python 的未来从此将由 Python 的核心开发者来决定。同时,他在推特上发文感谢所有的支持者,并表示自己将会继续在幕后关注 Python 社区的发展情况。

仅仅一年之后,范罗苏姆再次在推特上发文,公布自己从Dropbox公司离职的消息,他称自己已经退休,并表示自己在Dropbox任职期间学到了很多的东西,如Python的类型注解正是在此期间掌握的。Dropbox并特意撰写长文对范罗苏姆在Dropbox任职期间所做的贡献表达感谢。

从此范罗苏姆转居幕后,开始退休生活。

资料:

Python 之父谈放弃 Python:我对核心成员们失望至极!

百度百科:吉多·范罗苏姆

Python 创造者 Guido van Rossum 宣布退位

Python之父吉多·范罗苏姆为什么要将编程语言取名“Python”
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1820

    文章

    50313

    浏览量

    266866
  • python
    +关注

    关注

    58

    文章

    4884

    浏览量

    90299
  • 大数据
    +关注

    关注

    64

    文章

    9095

    浏览量

    144052
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Python/MyHDL创建自定义FPGA IP

    使用 Python/MyHDL 创建自定义 FPGA IP,与 Vivado 集成,并通过 PYNQ 进行控制——实现软件上的简单硬件设计。
    的头像 发表于 04-09 09:53 216次阅读
    使用<b class='flag-5'>Python</b>/MyHDL创建自定义FPGA IP

    使用PYTHON进行的跨平台仿真

    如何使用编程语言Python来调用和控制VirtualLab Fusion中的模拟。请查看下面链接的文档,以找到关于如何设置和使用Python和VirtualLab Fusion之间的接口的详细指南,以及一个
    发表于 04-02 08:21

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    摘要 VirtualLab Fusion允许Python外部访问其建模技术、求解器和结果。这个用例介绍了一种使用路径变量和Visual Studio代码将Python连接到VirtualLab
    发表于 03-31 09:39

    [VirtualLab] 使用Python进行跨平台参数扫描

    摘要 VirtualLab Fusion允许外部访问其建模技术、求解器和结果。这有助于应用其他数据处理或优化工具来进一步研究光学模拟。在本示例中,我们演示如何使用Python脚本运行参数扫描,以及
    发表于 03-31 09:36

    如何在 VisionFive 上使用 Python 包?

    VisionFive Fedora 下的本地目录,请在源代码目录下执行以下命令: 提示:源代码可从以下位置下载:愿景五.gpio. sudo yum install python
    发表于 03-30 08:28

    安装 Python VisionFive_GPIO失败是哪里出了问题?

    尽管按照最新的文档,我在安装 VisionFive.gpio 包时仍然收到错误 sudo apt 安装 libxml2-dev libxslt-dev python3 -m pip 安装请求
    发表于 02-11 06:13

    Python运行本地Web服务并实现远程访问

    本文介绍使用Python搭建本地Web服务并结合 ZeroNews 实现公网访问。
    的头像 发表于 02-06 11:39 336次阅读
    <b class='flag-5'>Python</b>运行本地Web服务并实现远程访问

    没有专利的opencv-python 版本

    所有 官方发布的 opencv-python 核心版本(无 contrib 扩展)都无专利风险——专利问题仅存在于 opencv-contrib-python 扩展模块中的少数算法(如早期 SIFT
    发表于 12-13 12:37

    Termux中调试圣诞树Python代码

    在Termux中调试Python代码(以圣诞树立例)非常简单,核心分为环境准备、代码编写、运行调试三个步骤,下面一步步教你操作: 一、环境准备(首次使用需做) Termux默认可能没有Python
    发表于 12-09 09:02

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
    的头像 发表于 11-03 09:15 1169次阅读

    Pico Technology发布Python软件包pyPicoSDK

    现有 PicoSDK 的基础上构建,使工程师、开发人员和业余爱好能够创建 Python 脚本,更加快速方便地控制其 PicoScope 设备。
    的头像 发表于 09-29 15:03 1096次阅读

    termux调试python猜数字游戏

    用termux做一个猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    termux如何搭建python游戏 Termux搭建Python游戏开发环境的完整指南 一、Termux基础环境准备 Termux是一款无需root即可在安卓设备上运行的Linux终端
    发表于 08-29 07:06

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    跟老齐学Python:从入门到精通

    础的学习介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容
    发表于 06-03 16:10