资讯中心

30年,Python正在吞食世界

📅 2026/9/29 11:52:31
30年,Python正在吞食世界
谁能预料得到, 在长达30年的时间跨度之后, 竟然会有一条蟒蛇因为人工智能这项科技的推动, 从而在全世界各地都成为了引人瞩目的焦点人物, 而这个令人震惊的事态发展根源, 其实都要追溯到发生在1989年圣诞节期间的那段历史时期。有一个名叫Guido van 罗姆的人, 当时正在荷兰的阿姆斯特丹待着, 因为处于圣诞假期, 他觉得很无聊, 所以没有什么事情可做。为了消磨时间, 他开发了一个新的脚本解释程序。就这样, 如今被用于机器学习的优选编程语言就由此诞生了。它因为简单易用, 所以广受欢迎。它的简单程度是即使你不是学计算机的人, 也可以轻松的学会开发一些可以提高工作效率的脚本程序。如今的云计算, 不仅能把黑洞的第一张图像拼接在一起, 还能在全球无数的电脑为黑客提供动力。它把视频流传输到全球超过一亿个家庭, 推动照片共享现象发展, 还帮助NASA进行太空探索。然而, 在人们的心中, 始终存在着一个让人感到十分奇特且值得反复琢磨的疑问, 那究竟是从什么时候起, 那个以“闲散人员”身份开展的业余小项目, 会用了短短几十年的时间, 就变成了目前在全世界范围内热度极高、极其流行的这种语言的呢。首席记者找了个机会, 对着Guido本人进行了采访, 目的就是想把他身上那个特别神奇的现象给弄明白。我们就从其身世作为开篇开始说起吧。你问的是什么原因呢?到底作者心里是怎么想着才会把名字给定了下来的呢?它是一九九二年诞生的, 距今整整三十五年, 它的诞生是源于一次偶然的相遇, 而它的命名则是源于一部喜剧电影。在那个时候, Guido这个人是非常痴迷那部喜剧的, 也就是蒙提·派森的飞行马戏团这部电视剧在当时是通过革新的电视喜剧模式来发展的, 它在一定程度上影响了日后的英国喜剧的发展, 所以Guido给他自己的新项目起了一个非常霸气的名字, 那就是蟒蛇。过了两年之后, 也就是来到了1991年这个年份, 第一个正式的版本总算发布了出来再到了2000年这一年, 最受欢迎、名气最大的那个最负盛名版本: 2正式发布在了大家面前随后在2008年, 那个让人觉得争议非常巨大、最具争议版本: 3也终于问世了。这个事物究竟是因为什么样的缘由才被创建出来的呢?他与那个在CWI做的工作有关的分布式计算系统, 还有那个叫做Perl的脚本语言之间是不兼容的。这个不兼容的情况, 是让他必须要去自己开发一门全新的编程语言的一个关键性原因。一个人独立去开发一门全新的编程语言, 其困难程度是非常大的。好在当时的Guido已经步入了而立之年, 并且拥有了非常丰富的软件开发经验。在此之前, 他曾经在CWI这个团队的里面工作了有三年的时间, 并且创建过一种叫做ABC的解释性编程语言。通过这些经历, 他已经深入并且清楚地认识到, 要构建那种能够执行程序员所下达指令的解释器是需要的什么关键要素, 同时也明确新语言所必需的那些语法构建模块是什么样子的了。而ABC的情况是不太理想的, 他看到了ABC的身上存在着非常多的缺点, 比如说, 不具备可扩展的能力, 不能直接进行输入输出操作, 推广起来很困难, 还有革新得过头了的问题。因为存在这些情况, 所以他在编写代码的时候从最开始就确立了属于“开放”的那种基调。它本身的设计是具备可扩展能力的。并不是说所有的特性和全部的功能都必须要集成到该语言的核心里面去。因为系统提供了非常丰富的API以及相关工具, 所以才使得程序员能够使用C或者C这些语言来编写各种扩展模块变得相对轻松简单。与此同时, 其编译器自身也是可以被集成到其它一些程序内的, 前提是那些程序需要用到脚本语言的支持。正因为如此, 有很多人把它用在了作为所谓的一种胶水语言的这个角色上。具体做法就是用这种语言把通过其他编程语言编写好的那些程序给进行集成, 同时还会对这些程序实施封装的动作。在我们内部存在的众多项目里面, 拿应用服务引擎这个例子来说, 它是会把那一部分性能要求极度高强度的代码交由C去编写的。等到这部分工作做完之后, 再接着用脚本语言或者Java以及Go这些技术来去调用相应的功能模块。咱们必须要好好的想一想, 究竟是一班什么样子的人, 才会做出这样的语言出来呢。当时Guido也是挺典型的那个理工科里的宅男, 平常没什么社交活动啥的。而且那时候根本就没有这些玩意儿。Guido平日里主要就是看电视, 或者写写代码, 有时候是看着电视的同时顺手把代码给写了。作为同样具备典型特征的理工科男性, 那种依靠双手去打造实物的驱动力, 始终紧紧地伴随着他。在面对一段空闲的圣诞节假期时, 吉多做出了选择, 准备投身于亲手构建一件新事物之中, 并且打算独自承担起整体设计、程序开发这一大型任务的工作流程, 力求让代码书写、版面安排以及视觉呈现等各个环节, 都严格服从于他个人的构思与意愿。值得注意的是, 他在编写代码这件事上表现出的痴迷程度, 甚至已经超越了对观看电视剧所产生的热衷。从1989年开始, Guido就一直是决策者, 他同时也是主力开发者, 所以社群经常叫他终身仁慈独裁者。那么, 究竟是哪些人构成了最初的那一部分核心支持者群体呢?Guido才刚刚把这个东西弄出来, 正等着有人去用它。可是当时Guido算不上什么有影响的人物, 也不是什么名人, 再加上那时候没有互联网, 情况就是这么个情况, 虽然手里攥着这么一把厉害的宝刀, 却很难找到能用这把刀的合适的人。他就这么硬撑着, 花了大力气让他的两个同事相信了这个, 然后这两位就成了最早的那么几个人用他做出来的这个东西的人。在那个时候, Guido对于这个小小蛇蛇并没有抱有什么大的期待, 只要是有人拿去用, 他就能够感觉到开心了, 这也能够算作是之前的辛苦并不是白费了。在1991年这一年, Guido通过在alt新闻组向全世界公开发布相关内容。然后, 事情就这么一传十、十传百地流传开了, 最后就收获了越来越多的用户群体, 与此同时, 社群也开始活跃起来了。他发觉, 自己有可能已经完成目标。为什么赢了这幅图呈现出不同语言在增长层面的趋势表现, 请大家关注图像中那条经过加粗设计的红色线条, 该线条所代表的指标变化, 足以证明一种奇迹般的成就已被创造出来。为什么会出现这样的情况?Guido认为, 大家之所以这么喜欢它, 是因为这东西正好解决了大伙儿发愁的问题。而这正是Guido当初开发它的目的。开发者心里清楚自己想要什么。他们想要一种高级的脚本语言。这种语言得在容易使用和功能强大之间找到平衡点。在处理那些复杂的逻辑的时候, 不能受Unix shell那些条条框框的限制。它可以像C语言那样, 去全面地调用计算机的功能接口。同时呢它又可以像shell那样, 让编程变得轻轻松松。研究主管Ryan分析道, 公司的应用程序平台战略团队指出, 清晰且易于阅读的语法在吸引开发人员方面起到了非常关键的作用。这种情况既适用于当下, 也适用于20世纪90年代。即便人们把这种重要性归结为代码缩这一因素, 并因此产生过分歧, 但该语法的价值依然不可否认。Guido还提到, 这种可读性只是一方面, 其实从一开始就内置了很多功能, 比如类处理和异常处理这些, 还支持像map这样的函数。在我们现在所进行的这个开发的过程当中, 社区方面同样起到了非常关键的作用, 并且 Guido 这个人一直觉得他自己并不是那种什么都懂的全能型的程序员, 所以他主要也就只负责制订框架这么一项工作。如果情况变得过于复杂, 那么他会挑选一种绕行之道来面对此事, 也就是采取cut the这一类做法。而那些真正存在的问题, 最终都会由社群里面的其他伙伴予以解决。社区里面的人是真是太多了, 才多得很。你看那个建个网站或者是去弄点钱啊, 这些跟写代码差得有点远的事情都有人肯干。现在的这个搞开发越来越难了, 也越来越大了, 要能一块儿干活而且心态还得开放, 这才是能把事情做成关键的地方。而互联网也是取得成就的一个非常重要的推动力量, 因为这个原因, Web开发领域得到了运用, 并且迎来了一次大规模的爆发增长。在1994年这一年, 这一事儿引起了麦莱的注意, 他那时候在美国国家标准局, 这个单位英文缩写是NBS, 后来变成了NIST也就是美国国家标准与技术研究所, 担任着一个高级位置的职务。为了向局里头的其他人去进行推销活动, McLay这个人, 就邀请了当时还在那荷兰的CWA机构里工作的那个叫van的家伙, 到NIST这边来当客座研究员, 干了整整两个月那么长的时间。那么这个职位在后来被证实了, 是起到了一种未来发展的催化剂的作用, 同时, 它也是那个叫van的人在人生的道路上的一个相当重大的变化时刻。van和Roger Masse在第一次参加研讨会的时候, 当时他们两个一起在CNRI那边工作着。正是在他出任这个职位的时候, 第一次研讨会办在了国家统计局的办公室。van 和 Barry 以及其他早期的爱好者们聚集在了一起。他们讨论了各自正在进行的项目。他们还交流了对这种语言未来发展的期望。在国家统计局的办公室里面, van 遇到了罗伯特·卡恩, 这个人的英文名叫 Bob Kahn, 他因为参与搞出了互联网的一个基本技术, 也就是所谓的 TCP/IP 协议, 而变得非常有名的情况。那场会议最终带来了以下结果, 也就是van获得了一份工作邀约, 随后将与卡恩一同在“国家研究计划公司”即缩写为CNRI的机构中开展相关的工作。这个由位于弗吉尼亚州的非营利性研究组织所设立的CNRI, 其主要关注点在于对网络技术方面的战略发展进行深入探讨。那时候, 针对一种新型编程语言的需求问题已经得到了处理。van提到, 当时他正好处在开始怀疑自己在CWI的未来这一阶段, 这份工作的邀约来得简直是恰到好处, 可以说是恰逢其时。他说, CWI更像是一个学术性的机构那边对他施加了一点点压力, 这种压力的意思就是他必须去读博士, 要不然的话, 他就得去面对一个不得不去别处找工作的局面。那时, 我已经35岁了, 攻读博士课程的前景并没有真正吸引我, 由于一些不明的原因, 其他一些潜在客户找到了我, 在打了很多电话并反复思考之后, 我决定拒绝他们。不过在这里, 我喜欢这里的人, 也喜欢他们提供给我的东西, 更喜欢这个项目的本身, 所以我就直接去做了。正是因为在CNRI, Van在一群爱好者的帮助下, 把许多用来管理语言的结构凑到了一块儿。在1995年4月加入CNRI以后, Van领导了一个小型的开发团队, 这个团队忙着开发一个叫移动代理的程序软件。这款软件设计成能够运行在像互联网这样的分布式计算机系统的。这个团队在开展工作的时候, 加入了van、Roger Masse、Barry、Ken和Fred Drake, 这些人都会在社区里起到很关键的作用。van指出, 最后组建起来的团队里一共有4个人到10个人, 这个团队中的大多数成员是在CNRI这家单位里头上班的, 并且这些人属于那部分负责进行核心开发工作的人。在van这个人于CNRI这个地方工作的那个时候, 这个团队帮助了他, 帮他创建了网站, 还建立了用于管理核心代码库更改的CVS服务器, 同时设立了用于改进和维护语言的特殊兴趣组的邮件列表。从1991年正式发布这个时间点开始算起, 使用它的人数量慢慢变多, 到了2016年的时候, 这种编程语言已经在世界上圈了一大波粉丝。在大家用得越来越广泛的这段时间里管理这件大事也变得正规起来了, 具体来说, 就是有关的管理组织正式成立了, 这个组织后来叫做软件基金会, 不过在最早开始运作的时候, 它还是前身状态, 直到2001年才正式成立。伴随着社区的日渐发展状况, 那个起初是在1994年开始启动的、两年召开一次的研讨讨论会, 逐步演变成了一个更加大型规模的年度举行活动, 并且最终变成为了美国软件基金会也就是PSF所主导主办的年度PyCon会议, 直至目前的今天这个活动依然保持着非常高的人气与热度。到了21世纪之交, 语言发展到非常大的规模, 有一个相当大的社区在其发展中发挥着积极作用, 而在1994年的夏天, 早期用户对这门语言最担心的事情是“万一Guido发生车祸怎么办”。但是, 文特·杰洛德还在那儿一直发挥着很主要的作用呢。大家对这门编程语言里头的关键想法一直没放下过。另外, 他还得到了一个称号叫做仁慈的终身独裁者。这个称呼是带有一点开玩笑的成分的。然后这个头衔就这么流传下去了好多年都还在用着。Ryan表示, 一种语言的创建者来当这个管理员这种情况, 其实并不少见。他用Perl语言的创建者Larry Wall, 还有Node.js的创建者Ryan Dahl这两个例子说明问题。不过他又觉得, van在管理工作这块是挺公平的。实际上, 在核心开发人员群体之间展开的公开争论里, 范把开发工作的开放特性归结为了决定成败的关键要素。的演变在这段经历中的时段里面, 获得了非常显著的进步和提升情况, 尤其是当二零0八年三月分发布了版本号为三点零的那个更新内容时候, 它使得整个语言的体系结构变得更为先进和符合现代标准了, 而近期在这个项目的管理与控制方式上面, 也同样出现了非常重要的调整与改变现象。这些变化是去年触发出来的, 当时的情况是这样子的, 就是van这个人辞掉了BDFL的领导角色, 他的这个原因是因为社区对于PEP 572提案里面引入“赋值表达式”这个问题争论来争论去的, 吵得不可开交。虽然引入赋值表达式这个玩意儿, 本意是为了让写代码这事儿变得更高效, 更省事, 但是, 在van这地方, 它就遭到了那些反对修改的人的非常严厉的批评, 有一帮人觉得, 使用这种赋值表达式, 它会让你的代码变得不那么好读, 不容易看懂, 这样一来, 以后想要维护这段代码的话, 那就变得越来越困难了。范说道, 面对有关新举措的各类争议与辩驳, 他已经早就习以为常了, 然而正是那些恶意诋毁他的人所持有的僵化立场, 以及针对他个人发起的攻击行为, 最终促使他选择了辞去现任职务这一决定。他说, 当那些在技术层面持有不同看法的人开始在社交媒体上抱怨, 指控他破坏了决策流程或者犯下了重大错误的时候, 他感到非常的失望。他觉得自己的背后遭到了攻击。在以前的时候, 大家如果要决定语言的变化情况, 或者是要改进功能方面的一些东西, 很明显, 会由一群人核心的开发人员来讨论这一件事的好处和坏处。要么, 可能会出现一个很明确的那些共识要么呢, 如果没有那么明确的共识的话, 我就会在心里头反反复复地想一想, 然后做出那个决定。在这个项目上面, 虽然它很有争议性, 但是我最终是选择了那种肯定的答案, 也就是做了这个决定。这并不是一场关于所谓的反抗, 但是我自己觉得, 在这个核心的开发者社区里面, 我所得到的那份信任, 其实并没有能够达到那种足够多的程度, 以至于去支持着我能够继续地往前走。他认为, 之所以出现了那种变质了的状况, 一部分原因就是因为如今使用它的人实在太多了。这是因为社区的规模变得非常庞大, 这也可能是因为原因的一部分。然后, 想要达成任何形式的共识, 确实会变得相对困难一些。所以, 不管你们做出什么样的决策判断, 那么总归会存在一些持有不同意见的人的存在, 这是不可避免的情况。核心开发人员 对选举指导委员会来监督该语言的开发表示欢迎。来源A. Jesse Jiryu Davis就在今年, 负责维护和更新参考解释器的主要研发人员做了一个决定。他们选出了一支指导委员会。这支委员会的作用是监管这门语言后续的发展方向。Van与其他几位核心人员一起被选中加入了这个委员会。这几个人包括Brett、Carol和Nick。有必要对那个用户规模扩大得十分快速的领域实施管理措施。如果回到二十五年前的话, 情况可能还会好一点, 因为那个时候社区比较小, 语言的范围也比较窄, 但是现在这个规模真的变得太大了, 完全依靠一个人来承担所有的工作是根本不行的, 我觉得为了照顾Guido本人的身体健康, 同时也为了保证能够让大家继续参与到社区的事情中来, 把这种沉重的负担分散到五个人身上一起扛是比较好的做法。每当有新的功能被发布之后, 指导委员会就会马上进行新一轮的选举活动。他们声称这样做能够为下一代所使用的领导语言铺平前进的道路。他说了这么一句话, 那个话的大意就是, 如果过了二十五年那么久之后, 人还能够保持健康的话, 那管事儿的人肯定就不是Guido了, 也不会是他了。指导委员会的成立这一事件, 同样获得了核心开发人员社区的广泛欢迎。其中一位核心开发人员表示, 这种做法让大家感觉像是迈出了正确的一步。她说, 这个指导委员会的模式, 显然比由单一人员来决定所有事务的做法要更好, 因为把如此巨大的责任和负担全压在某一个人身上是不太合理的。的未来虽然它依旧在以一种令人吃惊的速度去吸引更多新用户的加入, 可是社区之中有部分人察觉到了未来将要面临的挑战。如果要保持现有的增长势头, 那就必须得持续地去推动发展。在今年的语言峰会场合, 联合创始人Keith-Magee给出了警告, 他提到如果针对移动平台和新式Web平台的支援状况得不到改善, 那么就会面临生存风险。他说, 在手机和平板电脑上面, 市场渗透的程度是台式机和笔记本电脑以前从来都没有见过的, 但是, 作为一个社区来说, 我们并没有一个关于在这些设备上应该如何使用的计划, 那么, 当笔记本电脑变成一种利基设备的时候, 情况会发生什么样的变化呢。Keith-Magee所做的项目, 其目的就在于去利用编写相关应用程序的这一方式, 来使得让其可以在任何地方得以运行成为可能。他说, 需要更好地支持为非x86硬件平台编译代码的测试套件在移动平台和web平台上很容易崩溃应用程序的安装大小太大了在、和web上编写GUI代码时, 使库正常工作所需的工作量过于庞大以及标准库中与除外的解释器不兼容的模块数量太多了。有人提到, Keith-Magee提出了许多很好的观点, 并且认为重要的是要考虑如何与新的平台保持相关性。这些新的平台包括手机、平板电脑以及诸如这样的较新的web技术。现在这个情况, 确实还没有做得特别出色。他说, 心里想着能为大家的手机搞出一款可以下载的软件应用程序出来就算不错了。至于说这款东西到底是用什么语言或者是用什么技术编写出来的这个问题? 他甚至都完全不清楚这一点, 根本没什么概念。现在的情况是这样的, 随着现代芯片里头处理器核的数量变得越来越多了, 英特尔最新的服务器产品那里的处理器核数量都达到了48个之多。在这样的情况下, 人们也希望能够可以更好地把任务分散到多个核上面去进行工作。他对Eric Snow在子解释器方面所展现出的工作潜力感到振奋, 同时也对他的扩展并行运行代码的能力充满期待。他还明确表示, 自己真正渴望看到的是有更多的工作能够利用多核心进行执行。Snow这个项目属于长期计划, 目的是让任务在多个处理器核心之间分割得更加高效。它的工作重点在于对现有的子解释器功能进行重新编写版本的开发, 同时也会调整每个子解释器与全局解释器锁即GIL之间的交互方式。他讲, 那个事到目前来讲还没有彻底地准备好应对3.8版本的可能性, 不过他也觉得到了3.9版本的时候也许情况就会变好。他觉得在未来这两三年的时间段之内, 我们应该能看到一个结果。他心里边是非常积极的, 并且真的非常期待Eric这个人能够接着把这个项目接着干下去。因为他自己心里清楚, 这个事儿实际上是一项很重要的工作。社区一直都在采取措施, 对内置代码的标准库进行现代化改造, 他们最近在近期发布了一项提案, 该提案建议从库里面把过时的模块都删除掉, 通过这样做, 解决了最近人们对标准库状态发出的那一些批评意见, 这个库平常是被大家当成是一个优势来看待的, 原因是它被拿来执行很多广泛的常见任务时是完全用得上的。然而, 在今年的语言峰会上, 有人提出了这样一个问题: 如果允许人们从PyPI存储库中选择代码仓库, 而不是把该语言的功能捆绑成标准库, 这样是不是会更好?还存在一个疑问, 那就是负责监督语言开发工作的组织, 包括核心开发人员以及指导委员会在内, 其构成情况是否能够更加充分且直接地体现出二零一九年使用人员群体在多样性方面的实际特征。可以这么讲, 最终, 虽然存在着一种“仁慈的独裁者”掌管一切的这种带有半开玩笑性质的说法但是近年来, 形成的理念已经从社区之中涌现出来了, 人们在不断推动着可能性的发展, 并且打开了新用途的大门。他说“这真的是从社区中冒出来的而不是自上而下的。”在今年较早的时候, 有相关人士帮助合成了那第一批关于黑洞的图像, 这些黑洞距离地球大约是5万亿公里远, 该信息的来源是由Event等人提供的。随着指导委员会的成立, 还有用户基础变得比以往任何时候都要多, van 乐观地认为, “社区驱动的语言进化”将继续“非常成功”。说, 如果有人怀疑社区是否有能力继续为该语言找到令人惊讶的新用途, 那么他只需看看它在帮助捕获第一张黑洞图像方面所发挥的作用。这让我感到十分震惊。在社区中存在好几个人, 在我个人的观点里, 他们可以被归类为那些疯狂科学家。这些人一直都在进行各种各样的思考活动, 他们会去琢磨如何把这个事情做到极致, 也就是他们在想自己今天能够完成什么样的行动, 又或者说他们正在考虑究竟可以把这个状况推进到哪一个程度呢。

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案