1989年12月,荷兰的计算机科学家Guido van Rossum给自己创立了一个圣诞项目。厌倦了其它语言的缺点,他决定自己创造一种编程语言。他创造这种语言的原则很简单。首先,易读性强。与其程序行位杂乱无章或者由一对大括号搞得代码纠缠,Guido决定使用空格缩进来分割语句块。其次,它应该让用户创建自己的专用编码模块包,然后这些模块可以被其他人用来形成新程序的基础。然后,这种开发语言需要一个“短小、独特、有点儿神秘感” 的名字。因此,他将这种语言叫“Monty Python”,一个英国喜剧组合。程序模块仓库被称之为“奶酪店”。
Van Rossum的圣诞项目近30年后,他模仿了一个Monty Python的技术形象,类似电影《Life of Brain》里面的弥赛亚。Van Rossum解释说:“我当然没有打算创造一种旨在大规模消费的语言。”但是,在过去的12个月里,美国的Google用户搜索Python的数量远远大于搜索电视明星卡戴珊的。Python语言的查询率自2010以来增长了三倍,而与此同时其他编程语言的查询已趋于平缓或下降。
Python语言的流行不仅在专业开发者中增长。根据编程论坛Stack Overflow统计,近40%的人使用它,还有25%的人希望这样使用Python。但也与普通人。一个教了4500名新手如何使用各种语言的网站CodeCademy表明,目前需求增长最大的是那些希望学习Python的人。因此,Python代码让那些无从下手的人触手可及。Python粉丝们自称Pythonistas,他们在“奶酪店”增加了145000多个程序包,涵盖了从天文学到游戏开发的一切。
Van Rossum尽管对他的软件充满了激情,但是作为“终生好心肠的独裁者”,他发现严格的监督变得原来越难以忍受。他害怕自己变成偶像。“我为名声所累”他说的时候很像驱赶众多信徒的Brain。“有时候我觉得我所说的或做的每件事都被看作是一股强大的力量。” 7月12日,他辞职了,让Python粉丝们自我管理。
没人期待时尚的统计学家
Python并不完美。其它语言具有更高的处理效率和专业能力。C和C++是底层语言,它们给与用户更多控制计算机处理器的机会。Java是用于构建大型复杂应用程序的流行工具。JavaScript是通过Web浏览器访问的应用程序的首选语言。无数种开发语言为了不同的目的而进化。但是Python的杀手级特性:具有简单的语法,使其代码易于学习和共享,它的大量第三方包使它成为一种良好的通用语言。它的多样性体现在它的用户范围和用途上。美国中央情报局已将Python用于黑客,皮克斯用Python制作电影,谷歌用Python爬行网页,Spotify用Python推荐歌曲。
在“奶酪店”,最新引人的Python包是一些控制AI(Artificial Intelligence)的。用户可以创建模仿大脑中的连接的神经网络,以选择大量数据的模式。Van Rossum说,Python已经成为AI研究人员的首选语言,他们已经为它生产了许多软件包。
并非所有的Python粉丝都雄心勃勃,Codecademy的老板Zach Sims,相信很多访问者都试图获取技能,这些技能可以帮助他们在传统上被视为“非技术性”的工作。例如:营销人员可以使用语言来建立统计模型,衡量活动的有效性。大学讲师可以检查他们是否正确地分配等级。(甚至《经济学家》报的记者们,通常也使用Python来爬去网页上的数据。)
对于长期依赖于电子表格的专业人员来说,Python特别有价值。美国花旗银行集团,为实习分析师推出了一个Python的速成课程。就业网站eFinancialCareers报告称,在2015至2018季度第一季度,Python的市场需求量增长了近四倍。
对这些技能的渴求并非没有风险。咨询公司贝恩公司的合伙人Cesar Brea警告说,他交易中最可怕的事情是“一个人学会了一个工具,却不知道底层下发生了什么”。没有适当的监督,一个与AI图书馆玩的新手可能会得出一些荒谬的结论。波士顿咨询集团的合伙人Bernd Ziegler说,他的公司将这种分析保留给数据组的成员。
Russum的通用机器人
解决半受过教育的改进者的一个办法是在语言的奥秘中恰当地教育他们。Python在2014已经是美国大学最流行的入门语言,但它的教学一般局限于那些学习科学、技术、工程和数学的人。一个更激进的建议是通过向所有人包括小学提供计算机科学来吸引他们。慈善机构Cord.Org的老板Hadi Partovi指出,40%的美国学校现在提供这样的课程,高于2013的10%。大约10到12岁的三分之二的人在Orthor.org网站上有一个账户。也许是因为未来充满了自动化的工作而感到不安,90%的美国父母希望他们的孩子学习计算机科学。
Python的崛起还将持续多久,所有人都在猜测。在过去,有一种占主导地位的计算机语言,虽然不完全是“又强大又好用”,但现在却隐藏在后台。在20世纪60年代,Fortran在世界范围内传播。作为新手的语言教学,Basic和Pascal都有过其辉煌的时刻。Partovi先生自己也选择JavaScript作为Code.org核心教学大纲的语言,因为它仍然是动画网页的标准选择。
任何计算语言都不可能仅仅是以通用为目的。专业化仍然很重要。然而,确实,在过去的圣诞潮中,Van Rossum先生的确创造了一些值得纪念的东西。他不是弥赛亚,但他是一个非常聪明的人。
译者介绍:
ArthurGuo 职场老司机。21世纪初开始拥抱开源,后转型项目管理。现在一创业云公司担任PMO。掌握多门计算机语言,但更擅长人类语言。爱玩文字,不喜毒舌。