1989年12月,荷兰计算机科学家Guido van Rossum为自己设立了一个圣诞项目。由于对其他编程语言感到不满意,他想创建一套自己的编程语言,他的原则就是:"简单”。首先,这种语言应该易于阅读,与其让程序语句末尾不断扩展,靠一团团的花括号来区分代码块,还不如使用空格缩进来区分。其次,它应该让用户能够创建自己的专用编码模块包,并且这些模块可以被其他人在开发序时调用。第三,他希望给这种新语言起个简洁独特又略显神秘的名字。最终,他以英国喜剧团体 Monty Python 的名字将其命为 Python。其对应的程序模块仓库则被称之为“奶酪店”。
在他的圣诞发明近30年后,Van Rossum先生就像技术版的“飞行马戏团”(Monty Python)角色一样,在电影《布莱恩的一生》中意外地成为弥赛亚。他解释说:“我并没有打算创造一种旨在大规模使用的语言。”但在过去的12个月里,美国用户在谷歌上搜索Python的频率要高于真人秀明星金·卡戴珊。自2010年以来,用户对Python的查询率增加了两倍,对其他编程语言的查询则持平或下降(见下表)。
据编程网站Stack Overflow统计,Python语言不仅在专业开发人员流行起来——其中近40%的专业开发人员人使用它,而且也在普通人中也很流行——另有25%的人希望使用它。Codecademy是一家拥有4500万学员的新手编程教学网站,该网站表示,到目前为止,希望学习Python的人数需求上升最大。因此,它将Python编码教学带到了那些曾经被编程问题困扰者的面前,点击即可在网上学习Python编程。众所周知,Python开发者已经在奶酪店提交了超过145,000个包,涵盖了从天文学到游戏开发各个领域。
Van Rossum 虽然为其他人对Python的热情感到欣喜,但他发现作为监督者的角色越来越难以忍受,就像“终身仁慈独裁者”。他担心自己成为偶像,他说:“我对名声大噪感到不安,听起来比较怪,就像就像电影《布莱恩的一生》里的布莱恩被认定为弥赛亚之后试图赶走成群的弟子一样。有时候我说的或者做的每一件事都被认为具有强大的力量。”7月12日,他从Python管理团队辞职,留下开发者们进行自我管理。
没人期待统计学家会赶时髦
Python并不完美。其他语言有着更高的处理效率和专业能力。如果用户想更好的控制计算机处理器内部的运行逻辑,C和C++是更好的“低级别”编程语言选项。Java则适用于构建大型复杂的应用程序。JavaScript则是web应用的首选语言。还有其他大量的为了不同开发实现而进行优化的语言。但是python的杀手锏---简单的语法使得代码易于学习和共享,以及具有庞大的第三方软件包库,使它成为一种很好的通用语言。他的多功能性不仅体现在用户范围也体现在应用领域上。中央情报局使用Python进行黑客攻击,皮克斯动画用它制作电影,谷歌将Python应用于网页开发,Spotify则用它制作歌曲推荐程序。
Python开发者可以在“奶酪店”找到一些非常具有吸引力的有关人工智能的开发工具包。用户可以用他们创建神经网络,模拟大脑中的连接,进行大数据分析和提取。Van Rossum先生说,Python已经成为人工智能研究人员的首选语言,他们为它开发了大量的软件包。
不过,并非所有的Python开发者都如此雄心勃勃。Codecademy的老板Zach Sims认为,许多网站访问者都试图通过Python获得技能,这些技能可以帮助他们更好进行常规的“非技术”工作。例如,营销人员使用Python建立统计模型,以衡量活动有效性。大学讲师可以使用Python检查成绩分布是否合理。(即使是“经济学人”的记者,通常也会使用Python编写的程序进行数据搜索。)
对于长期依赖于电子表格的从业人员,Python更具价值。花旗集团,一家美国银行,就为其实习分析师推出了Python编程速成培训。就业网站eFinancialCareers的报告称,从2015年第一季度至2018年,提到Python的网站数量增加了近4倍。
但是这些对于技能的渴求并非没有风险。贝恩咨询公司合伙人Cesar Brea警告称,交易中最可怕的事情就是“有人学会了一种工具,却不知道背后的原理是什么”。如果没有适当的监督,一些使用人工智能分析的新手会得出一些不太靠谱结论。波士顿咨询集团的合伙人Bernd Ziegler表示,他的公司会把此类分析结果保留给数据团队的成员。
Rossum的通用机器人
解决这种编程语言半文盲化的一个方案就是理解语言背后的原理。在2014年,Python已经成为美国大学最受欢迎的入门语言,但仅限于研究科学,技术,工程和数学相关的专业开设了Python教学课程。一个更为激进的提案是通过向所有人和小学提供计算机课程来吸引他们。慈善机构Code.org的老板Hadi Partovi指出,目前有40%的美国学校提供此类课程,比2013年的10%有所提高。大约2/3的10-12岁的孩子在Code.org网站上注册了账户。也许是因为对未来充斥的大量自动化工作感到不安,90%的美国家长希望自己的孩子学习计算机课程。
每个人都在猜测Python还能火多久。在过去每个时代都有一种占主导地位的语言,虽然不完全是“强大又好用”,但是慢慢的这些语言也就退居二线了。20世纪60年代,Fortran语言传遍全世界。作为初学者的教学语言,Basic和Pascal都有过辉煌的时刻。Partovi先生自己也选择将JavaScript语言作为Code.org的核心教学大纲,因为目前为止它仍然是动画网页制作的标准选择语言。
任何计算机语言都不可能是真正通用的,专业化仍然很重要。然而,尽管如此,在已经过去的那个圣诞节,Van Rossum先生确实完成了一件值得纪念的事情。
他不是弥赛亚,但他是一位智者。
英文原文:https://www.economist.com/science-and-technology/2018/07/21/python-has-brought-computer-programming-to-a-vast-new-audience
译者:少年