Python 开启编程大众化的新时代
Python 创造者 Guido van Rossum 宣布退位是信息科技圈近期的重要事件,《经济学人》杂志也为此发表了一篇专题文章,以下是我的翻译版……
20180721_python_0.jpg
Python 开启编程大众化的新时代
原文链接 Python has brought computer programming to a vast new audience
1989年12月,一位荷兰计算机科学家 Guido van Rossum 决定利用圣诞假期进行一项计划——因为对其他编程语言的缺点感到不满,他想自己再创造一个。他的原则很简单:首先,它要流畅易读,每行语句意义完整,不是以花括号嵌套而是以强制空格缩进来确保结构清晰;其次,它要让用户能够自建功能模块并组成软件包,以便他人重复利用;第三,它还要有一个“简短、独特又略显神秘的”名字。最终,他以自己喜欢的英国喜剧组合 Monty Python 为其命名,并将软件包仓库称为“奶酪商店”。
自他完成这个圣诞假期小发明至今已过去将近30年,Van Rossum 就如同电影《万世魔星》(Monty Python and the Life of Brian)中那个意外当上弥赛亚的角色一样,成为被众人所拥戴的科技时代英雄。“我当初完全没打算创造一个会被广泛应用的编程语言,”他解释道。但在最近一年里,美国人在 Google 上搜索 Python 的次数比搜索电视明星金·卡戴珊的次数还要多,这个数值自2010年以来已经翻了三倍,而其他编程语言的搜索频率都趋于平缓或是下降(见图表)。
20180721_python_1.jpg
Python 语言不仅在专业开发者中越来越受欢迎——据知名的编程技术论坛 Stack Overflow 统计,有近40%的开发者已经在使用它,还有另外25%准备要使用它——另据已向4500万人提供编程语言教学的网站 Codecademy 统计,学习需求增长幅度最大的语言同样是 Python,许多过去对编程感到无从入手的人开始有机会初窥门径了。在被称为“Pythonistas”的狂热爱好者们共同努力下,加入“奶酪商店”的软件包已超过14.5万个,涵盖了从天文观测到游戏开发等等无数的领域。
虽然支持者的热情令 Van Rossum 感到高兴,然而担任如此庞大开源项目的“终身仁慈独裁者”带来的压力也令他感到疲倦,他害怕自己变成一个偶像。“我为名声所累,” 他说,像《万世魔星》中的 Brian 那样想要赶走追随自己的崇拜者,“有时我感觉自己说的每句话都被当成了金科玉律。”所以他在7月12日宣布放弃决策权,让 Python 社区自行决定未来之路。
意外崛起的数据大师
Python 并非完美无缺。其他一些语言或是有更高的性能,或是更适合特定的领域。C 和 C++ 是“底层开发”的不二之选,允许用户更灵活地控制计算机处理器内部的运行过程。Java 在构建庞大而复杂的企业级应用方面广受欢迎。JavaScript 则是开发 Web 浏览器端应用的首选语言。还有许多其他语言为了特定目的被创造出来。但是 Python 独有的杀手级特性——简洁自然的语法,便于学习和分享,从而积累起不计其数的第三方包——使它成为出色的通用编程语言。众多的使用者和广泛的使用领域突显了它的多才多艺——CIA 用它编写黑客工具,Pixar 用它创作动画电影,Google 用它爬取网页信息,Spotify 用它生成推荐歌单……
对于 Python 爱好者来说最具吸引力的是那些实现“人工智能”(AI)的软件包。使用者可以构建模拟大脑结构的神经网络,从海量数据中提炼出特定的模式。Van Rossum 称 Python 已成为 AI 研究者的首选语言,在这一领域开发出不计其数的第三方包。
当然并非所有 Python 爱好者都有这样的雄心。Codecademy 的老板 Zach Sims 认为许多用户访问他的网站学习编程技能是为他们在传统上被视为“非技术性的”工作提供助力。例如营销人员可以编程构建统计模型来衡量促销活动的有效性。大学教师可以编程检查学生成绩分布情况。(甚至也包括《经济学人》的记者——他们在网上搜集数据通常也会使用 Python 编程来实现。)
对于长久以来一直依赖电子表格处理数据的从业者而言,Python 更是具有特殊价值。美国花旗银行(Citigroup)已经为实习分析师引入 Python 速成培训。据就业网站 eFinancialCareers 的报告,近三年来 Python 被职业技能清单提及的次数增长了四倍。
对这些技能的渴求并非没有风险。投顾公司 Bain & Company 的合伙人 Cesar Brea 警告称,在他的行业中最可怕的事情就是“某人掌握了一种新工具,但并不清楚其内部原理”。如果没有适当的监督,一个胡乱摆弄 AI 库的新手可能做出完全错误的决策。波士顿投顾集团的合伙人 Bernd Ziegler 则声称,他的公司会将此类分析工作保留给专门的数据团队来进行。
Rossum 的万能机器人
要解决技能不足的问题,必须要有更全面完整的编程教育。Python 在2014年就已成为美国大学最流行的入门编程语言,但其教学还仅限于科学/技术/工程/数学专业(STEM)。一个更激进的提议是更早地普及编程教学——从小学就开始!公益性编程教育机构 Code.org 的负责人 Hadi Partovi 指出已有40%的美国学校开设了编程课,在2013年还只有10%。美国10至12岁的孩子约有三分之二已在 Code.org 开通账号,美国90%的父母希望自己的孩子能学习计算机科学知识。
所有人都在猜测 Python 的兴盛还会持续多久。有好几种编程语言也曾辉煌一时,后来却销声匿迹——当然并非“如尼尼微和推罗一般”彻底消亡,只是退居幕后。1960年代 Fortran 语言曾统治世界。Basic 和 Pascal 作为新手的入门语言也一度广受欢迎。Partovi 本人则将 JavaScript 作为 Code.org 的主打课程,因为它仍然是开发交互式网页的业界标准。
没有哪一种编程语言能真正做到“万能”。保持专业化仍然很重要。但无论如何,在多年之前的那个圣诞节,Van Rossum 开创了值得纪念的事业。他不是弥赛亚,但他确实是一个非常聪明的人。