“第一次使用 Python 时,我就知道它很特别。它提高了代码的可读性,写 Python 代码是很愉快的过程。”Barry 回忆道。1989 年,Guido van Rossum 厌倦了当时已有编程语言的缺点,决定创造一种新的编程语言。
Python,诞生伊始
就某些方面而言,Python 的崛起就像英国同名喜剧组合Monty Python一样离奇怪诞,而它也同样在自己的生态系统中积聚出名气和影响力。
Python 最初只是荷兰程序员 Guido van Rossum 的副业。上世纪80 年代末,van Rossum 在荷兰数学和计算机科学研究学会 (CWI) 工作。他厌倦了当时已有编程语言的缺陷,决定创造一种既好用又高能的新语言。
对于门外汉来说,创造一门自己的编程语言不亚于自己造一架飞机,但是时年三十多岁的 van Rossum 有他自己的优势。当时他与 CWI 的一个团队用三年时间创造了一种解释性编程语言 ABC,所以他对构建执行编程指令的解释器需要什么、新语言需要哪些语法构建块都有自己的见解。
对于当时的 van Rossum 来说,意识到已有编程语言的易用性缺陷也是非常重要的。他当时正在开发的 Amoeba 分布式计算系统需要使用 C 语言或 Unix shell,这两种语言都有很明显的缺陷。
C 语言不仅需要开发者执行手动管理内存的复杂工作、时刻面临潜在的错误,还缺少可重用代码库,这就使得开发者在每执行一个新项目时就得重新造一个轮子。而 Unix shell 存在另外一些问题:它为常见任务提供了一套实用工具,但是运行速度很慢,无法处理复杂逻辑。
一个人自己创造了一种编程语言,这听起来很不寻常,但是 van Rossum 得到了足够的支持。上世纪80 年代末,出于对当时可用开发工具的失望,多种主流语言应运而生。仅仅用了三个月时间,van Rossum 就创建了 Python 的工作原型,他认为该原型虽然缺乏一些现代特性,但是仍然能够从中看出今天 Python 的雏形。
Python 为什么能赢?
上世纪90 年代早期和中期,Python 语言发展迅速,van Rossum 认为开发者使用 Python 的原因和他最初创建 Python 的原因一致。他们想要一种高级的脚本语言,能够平衡易用性和强悍能力,在处理复杂逻辑时不会出现 Unix shell 的局限性。他们想要结束使用 C 语言时必须手动执行内存管理、必须在每个项目开始时重复造轮子的局面。
Barry Warsaw 表示,Python 既具备易用性,其能力也不打折扣,这种平衡是上世纪90 年代早期的主流编程语言所不具备的。“我之前写过大量 Perl、Tcl 和 C 代码,写的过程并不怎么愉悦。当 Python 出现时,我的感觉是:哇,它让编程重新变得有趣了!”
如果上世纪80 年代末的流行编程语言能够更好,或许 Python 压根就不會出现。van Rossum 当时创造 Python 的一大动力来自他在 CWI 开发的 Amoeba 分布式计算系统与 Perl 脚本语言不兼容。根据 Stack Overflow 开发者调查报告,现在 Python 是活跃用户增长最快的编程语言,而 Perl 已经滑出最新的 Stack Overflow 调查报告。
近年来在 Stack Overflow 网站上,Python 相关问题的阅读量增长速度远远超过其他编程语言。Python 可用于大型任务和小型任务,专业开发者、业余开发者都可以使用。该语言尤其受到 Web 开发者、数据科学家和系统管理员的青睐。