首页 > 评论 > 关键词 > Python最新资讯 > 正文

Python之父宣布退休,但Python仍在吞噬世界

2019-10-31 15:03 · 稿源:InfoQ公众号

病毒、代码 (4)

声明:本文来自于微信公众号InfoQ(ID:infoqchina),作者:赵钰莹, 授权站长之家转载发布。

10 月 30 日,Python 之父 Guido 大牛宣布退休,离开 Dropbox。

他发推文说,“这件事感觉既苦涩又甜蜜:苦涩的是,我马上要离开 Dropbox,现在已经退休;甜蜜的是,在 Dropbox 做工程师期间,我学到很多,比如类型标注就来自这段经历。我会非常怀念在这里工作的日子。”

image.png

Python 正在吞噬世界

如今,人们对 Python 的热情已经远远超出了最初的开发者圈子。一些人预测,随着 Python 用户群的快速增长,它很快会成为世界上最流行的编程语言。每天有数以百万计的人使用 Python,用户群呈现出指数级的增长,几乎没有出现下降的迹象。

不管是专业的还是业余的开发人员,他们都在使用 Python 处理大大小小的任务,特别是 Web 开发人员、数据科学家和系统管理员。今年出现的第一批黑洞图片就是用 Python 拼接出来的。

Python 在一些世界知名的组织中扮演着关键角色,比如,Netflix 用 Python 向全球 1 亿多户家庭提供流媒体视频,Instagram 用 Python 实现图片分享,NASA 借助 Python 来探索太空。

Python 的早年时期

Python 原先是荷兰程序员 Guido van Rossum 的一个个人项目。20 世纪 80 年代末,van Rossum 在荷兰国家数学和计算机科学研究中心的 CWI 部门开发分布式系统。由于对已有的编程语言感到十分失望,他决定开发一门新的语言——一门既易于使用功能又强大的语言。

对于当时的 van Rossum 来说,使用仅有的几种编程语言完成任何一件事情都显得很困难。他正在开发的 Amoeba 分布式计算系统要求他使用 C 语言或 Unix shell,但这两种语言都有很大的局限性。C 语言要求开发人员自己手动管理内存,容易埋下潜在的 bug,而且还缺少可重用的代码库。开发人员想要完成日常任务,需要在每个新项目中重新发明轮子。Unix shell 存在另外一个问题——它虽然为日常任务提供了一些实用程序,但它们的运行速度太慢,无法处理复杂的逻辑。

这些语言对开发人员造成的限制如此之大,以至于在 van Rossum 看来,他自己创建的这门解释型语言——从 ABC 语言借用了一些特性——似乎是最好的选择。

van Rossum 回忆道:“我当时在想,为什么不自己开发一门语言呢?我完全可以借鉴 ABC 的一些想法,并将项目的规模缩小一些,把原先需要花三年时间完成的东西缩短至三个月内,让它变成我自己的个人项目。于是,Python 诞生了”。

1989 年末,van Rossum 开始认真地开发这门语言,并借用了他最喜欢的喜剧团体“Monty Python”的名字,又因为与蛇有关系,后来就有了那个盘绕的巨蟒的 logo。

他说:“当时我也不知道 Python 是否真的会让我的工作变得更有效率。在某种程度上,我真的很喜欢这种可以自己完成一个大项目的想法,并且可以按照我想要的方式来设计和实现。在我看来,编程是件有趣的事情”。

三个月之后,van Rossum 做出了可运行的 Python 原型。

他说:“虽然现在的 Python 有很多在当时并不存在的抽象特性,但语言本身仍然始终如一”。

“那时,Python 已经具备了解析器和运行语言所需的基本组件。第一个可运行的 Python 程序放到现在仍然可以运行”。它们的函数定义是一样的,缩进是一样的,字典和元组的创建语法是一样的,交互式提示符也是一样的。

当他的两个同事开始使用这门语言处理日常任务时,van Rossum 并没有指望它会流行起来。因为他知道,在互联网时代到来之前,让一门编程语言流行起来有多么困难。

在今天,只需要点击几下鼠标就可以把一款软件分享给全世界,但在上世纪 80 年代,这是一件非常费力的事情。

1991 年,van Rossum 通过 alt.sources 新闻组向全世界发布了 Python。这在当时基本上算是一种开源许可协议,比”开源许可协议“这个术语本身早了六年出现。虽然当时的 Python 解释器仍然需要将 21 个单独的部分连接成一个压缩文件,并需要连夜从 Usenet 网络上下载下来,但与几年前线下送磁带的方式相比,它仍然要高效得多。

他说:“我希望 Python 可以取得成功,毕竟之前我做的另一个东西基本上以失败告终”。

van Rossum 说,在很长一段时间之后,他才知道 Python 的用户群在增长。渐渐地,他意识到 Python 的发展势头正在形成,在与 Python 社区进行了一段时间的交流之后,他知道,Python 成功了。

Python 为什么会赢

Python 在 20 世纪 90 年代初期到中期开始受到关注,Python 的时代到来了,这让 van Rossum 感到震惊。

van Rossum 相信,被 Python 吸引过来的开发者,他们转向 Python 的原因与他当初创建 Python 的原因是一样的。他们需要一门高级的脚本语言,能够在易用性和功能之间取得平衡。他们希望能够结束在 C 语言中手动管理内存、在开始新项目时需要为重复任务重新实现代码的日子。

Warsaw 说,Python 在可用性和功能之间取得了平衡——在 20 世纪 90 年代早期,任何一门主流编程语言都没能提供这种平衡。”我写过很多 Perl、Tcl 和 C 代码,感觉它们一点都不好玩。Python 一出现,我就想,‘哇,它让编程变得更有趣了’”。

不管是过去还是现在,Python 提供的都是清晰而明确的语法,它使用缩进将代码分组成块,让开发人员更容易阅读和理解代码。

Python 强调代码的简洁和可读性,这并非偶然。van Rossum 曾公开表示,编程语言不仅要告诉计算机该做什么,还要便于在开发者之间传递思想。

Ryan 说,除了可读性之外,Python 很早就内置了一些通用的功能,这让 Python 从其他语言中脱颖而出。“你从一开始就可以使用某些功能,比如类和异常处理。Python 还提供了对 lambda、map 和 filter 等函数的支持,这些东西在很多情况下都非常有用”。

如果 80 年代末的主流编程语言能够再好一点,或许就不会给 Python 留有机会。van Rossum 开发 Python 的动机之一就是因为 Perl 与他在 CWI 工作时使用的 Amoeba 分布式计算系统不兼容。他说:“Python 的幸运之处在于 Perl 不能被移植到 Amoeba。如果 Perl 可以被移植到 Amoeba,我就不会想要自己去开发一门语言”。

尽管 Python 在发布后吸引了一批铁杆粉丝,但在 20 世纪 90 年代,Python 在编程语言方面仍然处于劣势。van Rossum 说,Python 的竞争对手是 Tcl/Tk 和 Perl,这两种语言的目标与 Python 是一样的,即简单易用且功能强大。

他说:“上世纪 90 年代,在前三大编程语言中,Perl 无疑是第一名,Tcl/Tk 是第二名,而 Python 则是第三”。

Stack Overflow 开发者报告显示,从开发者活跃度方面看,Python 是增长最快的编程语言,而 Perl 在缩水,它甚至都没有出现在最新的 Stack Overflow 开发者报告中。

下图显示了这种爆炸式的增长。近年来,Stack Overflow 网站上与 Python 相关的问题的增长速度远远快于其他编程语言。

那么,Python 是如何超越昔日的竞争对手的呢?又如何解释这两门语言之间截然不同的命运呢?van Rossum 认为,这与代码库在达到一定规模后的维护难易程度有关。他说,“从人们的经验来看,Perl 适合用来编写行数较少的脚本,但如果你的主干代码超过了 500 行,除此之外还有数千行分支代码,那么在 Perl 中维护这些代码就需要遵循很多原则。而在 Python 中,你不需要遵循那么多原则,代码仍然具有很好的可读性和可维护性”。

Python 一方面简单易用,一方面又健壮到可以用来开发大型的应用程序,这两个因素的组合正是 Python 在上世纪 90 年代取得成功的原因。

“一些互联网开发者想要开发越来越大型的应用程序,而且他们意识到用 Python 开发应用程序要比用 C 语言、C++ 或 Java 容易得多”。

随着 Python 在 20 世纪 90 年代逐渐流行起来,当时还在 CWI 工作的 van Rossum 发现他创造的这门编程语言越来越多地把他与来自世界各地的人联系在一起。

网友热搜:

  • 相关推荐
  • 大家在看
  • 报告:JavaScript为最常用整体编程语言 Python超过Java

    在过去的 12 个月中,Python在使用的编程语言列表中已经超过了Java,它也是被研究最多的语言。报告称,在过去的 12 个月里,30%的受访者开始或继续学习Python,甚至比去年还要多。

  • Python取代Excel?风变编程带你了解如何更好地学Python!

    当前最简单、最流行的编程语言是什么?是Python。最近,谷歌公布的编程语言流行指数显示,Python目前仍然是全球范围内最受欢迎的技术语言。而得益于简洁、易读、易维护等特点,Python可广泛运用于数据分析、人工智能、爬虫、运维、测试、图像识别、机器学习等领域,在日常数据分析方面,甚至已有“Python取代Excel”的说法。那么,Python是否真的有这么牛?接下来,风变编程就带你了解一波。“Python已经取代了Excel”今年3月,日?

  • Java已被超越?Python当道,风变编程带你化身编程高手

    在程序员中,一直流传着“Python除了不会生孩子,什么都会”的传说。作为人工智能时代最重要的脚本语言之一,Python现在已经逐步占领统计学、机器学习、爬虫、图形处理、软件和游戏开发、人工智能等多个领域,且都有突出表现。可以说,在众多编程语言中,python如今已经杀出重围,从容超越Java和Javascript,化身程序员必备的编程利器之一。目前,国内外许多公司都已使用Python,如:YouTube、豆瓣、知乎、Google、百度、腾讯、美?

  • Python 和 Go 成为年度最受欢迎的黑客工具榜首

    网络安全公司 Imperva Cloud WAF 近期分享了其在 2019 年一年内针对网络安全事件的观察。对数据进行聚类分析后,他们得到了如下结论:

  • 云计算开发学习笔记:Python3注释

    <p>大家在学习各种编程语言的时候都会在代码里面添加一些注释,这个也是为了方便日后对代码的查找和修改,各种编程语言的注释方式略有不同,Python3语言也一样有自己的注释方式,下面我们来了解一下都有哪几种。</p><p>确保对模块

  • 云计算开发学习笔记:Python3运算符

    首先我们来了解下什么是Python的运算符? 举个简单的例子 3+6=9 。例子中,3和6被称为操作数,"+" 称为运算符。Python中的运算符大部分与C语言的类似,但也有很多不同的地方。这里就大概地罗列一下Python3中的运算符。Python语言支持的运算符类型有以下几种:算术运算符,比较运算符,赋值运算符,逻辑运算符,位运算符,成员运算符,身份运算符,运算符优先级。Python算术运算符以下假设变量a为10,变量b为21:Python比

  • 做客李晨nic淘宝直播 胡海泉胡彦斌带货开课吧Python

    自李佳琦、薇娅掀起直播带货浪潮后,当红明星、商界巨头等各路大咖纷纷走进直播间做“带货网红”。2020年是直播电商全面崛起之年,越来越多的企业踏入了直播营销这个新阵营,今年本就发展迅猛的在线教育行业自然也紧跟趋势。5月30日,开课吧Python小课陈列在李晨nic淘宝直播间中,与Vipkid、元气森林、御泥坊等品牌产品一起展出供售。当晚,慧科集团董事长、开课吧总裁方业昌博士做客李晨直播间,二胡组合胡彦斌和胡海泉也前来助阵,力推职

  • 周鸿祎调侃潘石屹学python:他写的估计一百行里有十个漏洞

    在 6 月 20 日极客公园联合bilibili举办的Rebuild2020的对话中,360董事长周鸿祎谈到漏洞不可避免的原因称,一是人写代码的技术漏洞,二是违背安全规则的人性漏洞。

  • 云计算开发学习笔记:Python3身份运算符实例

    身份运算符用于比较两个对象的内存地址是否一致,是否是对同一个对象的引用。注: id() 函数用于获取对象内存地址。以下实例演示了Python所有身份运算符的操作:以上实例输出结果:解析:身份运算符is 用于判断两个变量引用对象是否为同一个(同一块内存空间),比较运算符的 == 用于判断引用变量的值是否相等。以上内容为Python3身份运算符实例。

  • 云计算开发学习笔记:Python3位运算符实例

    在Python中,位运算符包括位与(&)、位或(|)、位求反(~)、位异或(^)、左移位()。Python中的按位运算法则如下:下表中变量 a 为 60,b 为 13二进制格式如下:在了解了位运算符后,再来看看实例演示中Python所有位运算符的操作:输出结果如下图:了解更多可以查看Python3全部的运算符《Python3运算符》。解析:位运算符只能适用于整数,其总体运算规则为:首先把整数转换为二进制表示形式,按最低位对齐,短的高位补0,然?

  • “Python之窗”百家号有什么作用?企业品牌必须知道的推广渠道

    备注:本文数据来自站长之家移动传媒平台,文章涉及的数据依托平台大数据计算所得,非百度官方数据,仅供参考。Python之窗是当前百家号中的普通号,目前账号百家号权重为2,综合排名位列784779名,科技分类排名位列36763名,领先了29.7%的百家号。 Python之窗百家号概况 Python之窗的简介为专注于Python相关知识分享,是一家主旨明确、领域专注的自媒体作者,截止目前为止他们已经在百家号上发布了超过7篇的游戏内容,最近该作者创

  • 云计算开发学习笔记:Python3逻辑运算符实例

    Python逻辑运算符由and or not组成,按照优先级依次为:() not and or。首先假设变量 a 为 10,b为 20,看下表:在了解了逻辑运算符后,再来看看实例演示中Python所有逻辑运算符的操作:输出结果如下图:了解更多可以查看Python3全部的运算符《Python3运算符》。解析:按照从左向由,优先级高的先执行优先级高的规则,首先因为比较运算符优先级高于逻辑运算符,很简单,如果运算符低于了逻辑运算符优先级那还如何运算呢。and 优先

  • 编程语言最新排名:Java最受欢迎、JS用户最多

    IDE工具开发商JetBrains基于2万名开发者,对编程语言的最新情况进行了统计描摹。就受欢迎程度而言,Java高居第一位,但在使用人数上,JavaScript则名列榜首。欢迎程度的统计方法是,让参与的

  • TypeScript 热度超 C 与 Python、Go 开发收入高、运维吃香,调查了 65000 名开发者有这些发现!

    近十年来,Stack Overflow的年度开发者调查问卷被誉为全球范围内最大的开发者调查。为了寻求多样化的代表,Stack Overflow的官方将调查问卷从技术和行为等方面提出了各类问题,希望收集的信息能够帮助改善Stack Overflow开发者的社区。

  • TheShy正式入驻快手 theshy快手账号是多少

    6月10日,IG战队正式宣布上单选手TheShy入驻快手,同时也公布了theshy在快手平台的账号ID,对于喜欢theshy的选手,可以前往快手来关注他的动态啦。

  • GitHub将替换master、slave等术语 反对种族歧视

    DoNews 6月15日消息(记者 刘文轩)GitHub CEO Nat Friedman在Twitter表示,GitHub将使用中性词如“main”去替换“master”这个让人联想到奴隶制的术语。GitHub 成为最新一个支持移除可能冒犯部分群体的术语的公司。包括“master”和“slave”将被替换为“main/default/primary”和“secondary”,“whitelist”和“blacklist”将被替换为“allow list”和“deny/exclude list”。最近几周,由于“Black Lives Matter”的抗议活动?

  • 欧科云链OKLink行业观察:ETH矿工或将开启大迁徙

    6 月 23 日,以太坊官方博客更新其开发进度,Altona v0.12 测试网预计将在下周启动。这也就意味着,在经过探讨和不断的改进后,以太坊开发团队终于将启动第一个公开的、多客户端测试网络。 与目前的多客户端测试网类似,Altona更像是一个开发者网络,而不是一个以终端用户为中心的测试网。也就是说,Altona首先是让客户端团队在产品设置中检查v0. 12 软件,同时让ETH2. 0 开发者作为一个整体来解决可能只在多客户端设置中出现的bu

  • GitHub将替换掉 master 等术语 以避免联想到奴隶制

    近日代码托管平台GitHub CEO Nat Friedman公开表示,该公司将使用中性词如“main”替换“master”一词,避免让人联想到奴隶制的术语。

  • 通过这个方法,他3个月内从GitHub赚了56万元

    Caleb Porzio(卡莱布·波齐奥)是一名开发人员,曾在一家名为Tighten的软件公司就职。当时,波齐奥的年收入约为 9 万美元:开发人员的薪水变化非常大,但波齐奥的年收入基本稳定在 9 万美元左右,再加上他妻子的收入和一些额外的收入,存一笔钱以备不时之需已经足够。

  • OKEx早报:西班牙银行开始“冻卡”,ETH 手续费事件“破案”

    OKEx早报将在每日早间为您带来最新的行情,以及相关行业动态。帮助投资人在最短的时间内了解夜间的动态消息,更好的握把每日行情。行情速递6月18日讯,昨日晚间BTC出现一轮下滑幅度接近200美元,通过OKEx平台交易数据可以看出,BTC今日开盘报9384.31美元,开盘后横盘整理,至3:25开始出现下滑,4:05时到达早间最低点9232.53美元,随后出现反弹行情,至7:45触及早间高点9461.87美元,截止发稿BTC报9423.58美元。图片来源:OKEx平

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议