说起Python,现在哪个搞开发的不知道?简直无处不在,从网站后台到机器学习,再到自动化脚本,哪儿哪儿都能看到它的影子。你有没有想过,这玩意儿,当初是怎么就冒出来的?不是像现在很多新玩意儿那样,有个大公司砸钱,弄个发布会,搞得人尽皆知。它更像一颗种子,悄悄地,从一个人的脑子里钻了出来,然后靠着一股野蛮生长的劲儿,以及一群真心喜欢它的人,一点点,一点点,长成了参天大树。

那个“一个人”,叫Guido van Rossum。那时候,大概是上世纪八十年代末吧,他在荷兰那个啥CWI研究所里晃悠。他之前搞过个叫ABC的语言,那玩意儿据说挺优雅的,教育用很友好,但说实话,没怎么火起来,而且功能上,它也有些限制,比如,它不能直接操作文件系统,你知道,对于一个想做点实用事情的程序员来说,这简直像手脚被绑住一样难受。就是那个经历,让Guido心里老痒痒的,觉得肯定能做出个更好的、更舒服的语言,既有ABC那种清晰、易读的优点,又能真正干活儿,解决实际问题。他不是想造一个完美的、大而全的语言,而是想要一个趁手的工具,那种写起来不费劲儿,看着也舒服的工具。

结果呢?1989年冬天,具体说就是圣诞节放假那会儿。阿姆斯特丹外面可能挺冷的,但他屋里估计挺暖和。他一个人在家,闲着也是闲着,脑子里那个念头老打转。他琢磨着,与其光想,不如动手试试看。他正好在负责一个分布式操作系统项目,需要一个脚本语言。于是,他决定用C语言,撸起袖子开干了,目标就是实现那个他脑子里酝酿了很久的“ABC继承者”。

至于名字?哈哈,这事儿挺好玩的。据说是因为Guido是那个英国喜剧团体Monty Python’s Flying Circus的超级粉丝。他就这么随性地,把他新生的语言,叫Python了。想想看,要是他当时喜欢别的乐队或者别的什么,咱们现在是不是得写代码叫别的名字?比如“Beatles语言”或者“Queen脚本”?有点意思吧,一个如此严肃强大的语言,名字来源竟然这么不着调,这么充满生活气息

那这东西做出来,怎么让人知道呢?没啥高大上的发布会,没啥铺天盖地的商业宣传。就是1991年2月,他把代码发到了一个叫alt.sources的Usenet新闻组里。Usenet啊,那是个充满Geek精神的地方,大家在里面讨论各种技术话题,分享代码。你可以想象吗?就是一堆代码文件,附上点简单的说明,标题可能就是“新的脚本语言:Python”,然后说:“嘿,哥们儿,我做了个新玩意儿,受ABC启发,挺好玩的,有列表、字典、类,而且用缩进表示块结构!你们看看,试试?” 那个感觉,特别原生态,特别真诚,特别Geek范儿。这,就是Python第一次向全世界say hello的方式。低调得不能再低调了。

它一开始,最让人眼前一亮的是啥?太多了!但最标志性的,绝对是那缩进!多少别的语言,大括号 {}、begin/end、分号 ;,密密麻麻的,有时候看得头都大。Python说,不用!我们靠缩进来划分代码块!当时有人觉得这太不“正经”了,怎么能靠空白字符来决定语法结构?这不是找茬儿吗?但也有人,特别是那些被大括号和分号折磨得够呛的人,觉得简直是福音!代码看着干净,像诗一样(呃,好吧,夸张了点,但确实比很多语言舒服多了)。这种对代码可读性的极致追求,从一开始就根植在Python的骨子里。这不仅仅是语法糖,这是一种哲学:代码首先是给人读的,然后才是给机器执行的。

还有,它的哲学里,包含了对程序员效率的深深关怀。它不是那种高高在上、啥都要你自己造轮子的语言。它想让你!想让你省事!很多常用的功能,比如字符串处理、列表操作,它都提供了非常方便直观的内置方法。标准库也设计得非常周全,号称“batteries included”(自带电池),意思是很多事情你拿来就能用,不用到处找第三方库。这是一种务实的态度:来吧,拿去用,别在那些枝枝蔓蔓的小事上浪费时间了,去解决你真正想解决的问题!

Python能从一个小小的Usenet角落里冒出来,然后一点点,一点点被人接受,社区的力量绝对是重头戏,是它早期能够推出并存活下来的生命线。那时候可没有GitHub,没有Stack Overflow(至少是早期没有)。程序员们通过邮件列表交流,有一个叫python-list的邮件组,Guido本人就在里面非常活跃,回答问题,听取意见,甚至直接参与讨论语言的设计和演进。大家分享代码,报告bug,贡献补丁,互相帮忙。那种感觉,特别像一个兴趣小组,大家因为喜欢这个新玩具而聚在一起玩。没有哪个大公司在后面撑腰(Guido所在的CWI是研究所,不是商业公司),纯粹是大家觉得这东西好用,真香,就口耳相传,你教我一点,我帮你一下,就这样一点点,人多起来了,代码库也丰富起来了。

想想看同时代流行的那些货色。C++?强大是强大,但那学习曲线,那指针,那内存管理,搞死多少初学者?强大到是强大,但也复杂得让人望而却步。Perl?哦,写脚本是把好手,正则表达式玩得飞起,但那语法… 神秘莫测,符号堆砌,写出来自己可能都看不懂,被戏称“写时快感,读时痛苦”。Tcl?也简洁,但好像没Python那种野心和通用性,更偏向于嵌入式或者GUI脚本。Python呢,就像一股清流,易学,语法优美,能干的事儿还特别多,从简单的文件处理、文本分析,到网络编程,再到后来逐渐发展起来的各种库,它能插手的领域越来越广。

谁能想到呢?当年那个圣诞节期间,Guido因为“闲得慌”而做的“玩具”,那个在Usenet上推出的小玩意儿,一步步爬升,先是脚本小能手,凭借它的易用性和“自带电池”的实用哲学,在各种需要快速开发、胶水语言的场景下站稳了脚跟。然后,它搭上互联网的顺风车,Web开发火起来了(Django、Flask这些框架功不可没,它们用Python证明了即使是复杂的Web应用也能写得优雅高效),科学计算、数据分析、人工智能浪潮一波接一波地爆发,而Python凭借其丰富的库(NumPy、SciPy、Pandas、Scikit-learn、TensorFlow、PyTorch,天哪,名单太长了!)以及社区的活跃支持,简直坐上了火箭,成了这些领域的首选语言。现在,你没点Python基础,出门跟同行打招呼都感觉少了点底气似的。

所以啊,要问Python怎么推出的?不是什么精心策划的市场campaign,不是哪个巨头眼光独到砸钱硬推。就是一个聪明人,Guido van Rossum,他觉得现有工具不爽,凭着一股子想把事情做好的劲儿,在没有人要求的情况下,自己动手做了个他心目中好用的工具。然后,他没有藏着掖着,而是非常慷慨地分享了出来。是它骨子里的简洁实用优雅,抓住了第一批程序员的心,是那群热心的社区成员,用爱和汗水一点点地完善它,推广它。是它自身优秀理念和强大的生命力,让它自己“长”出来的,一步步从一个新闻组帖子里的代码,走到今天这个几乎统治了半个编程世界的地位。这故事,是不是比那些PPT里吹出来的“战略发布”、“重磅推出”要真实得多,也要带劲儿得多?它提醒我们,有时候,最伟大的推出,恰恰是起源于最朴实创造和最无私分享

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。