跳过正文
  1. 文章/
  2. 计算机前世今生系列/

Python的哲学:为什么Python叫Python

sun.ao
作者
sun.ao
我是 sun.ao,一名热爱技术的程序员,专注于 AI 和数智化领域。
目录
计算机前世今生 - 这篇文章属于一个选集。
§ : 本文

1989年12月,荷兰,阿姆斯特丹。

圣诞假期开始了。大多数人选择陪伴家人、外出旅行、或者在家休息。

但一个程序员坐在电脑前,开始写代码。

他不是在工作——他在做一个业余项目,打发无聊的假期。

他想设计一门新的编程语言。这门语言应该:

  • 简洁优雅,容易阅读
  • 功能强大,可以做任何事情
  • 适合初学者,也适合专家

他开始敲击键盘。

这个程序员叫吉多·范罗苏姆。他正在创造Python——后来世界上最流行的编程语言之一。

为什么叫Python?
#

你可能好奇:为什么这门语言叫Python?和蟒蛇有关吗?

其实,Python的名字来自Monty Python——一个英国喜剧团体。

吉多是Monty Python的粉丝。他觉得编程应该是有趣的,不是严肃枯燥的。用喜剧团体的名字来命名编程语言,正体现了这种精神。

Python的文档和教程里,也经常出现Monty Python的梗。比如,示例代码里的变量名常用spameggs——这是Monty Python小品里的梗。

虽然Python的标志是两条蛇,但吉多更喜欢喜剧,而不是爬行动物。

Python的诞生
#

吉多当时在荷兰的国家数学与计算机科学研究中心(CWI)工作。

他参与了一个叫ABC的语言项目。ABC的设计目标是:让非程序员也能编程。ABC简洁易学,但功能有限,没有成功。

吉多从ABC学到了很多设计理念。他想创造一门新语言,既保持ABC的简洁,又增加更多功能。

1989年圣诞假期,他开始写Python的解释器。1991年,他发布了Python 0.9.0。

Python最初只是吉多的业余项目。他没想到它会改变世界。

Python的设计哲学
#

Python的设计哲学可以用一句话概括:简洁优于复杂,可读性优于简洁。

吉多写过一篇文章《Python之禅》,总结了Python的设计原则:

美丽优于丑陋 明显优于隐晦 简单优于复杂 复杂优于难懂 扁平优于嵌套 稀疏优于稠密 可读性很重要

这些原则指导着Python的设计。Python代码看起来像伪代码——接近自然语言,容易理解。

比如,计算1到100的和:

total = sum(range(1, 101))

对比C语言:

int total = 0;
for (int i = 1; i <= 100; i++) {
    total += i;
}

Python更简洁,更易读。

Python的发展
#

Python早期发展缓慢。它只是吉多的业余项目,没有商业支持。

1994年,Python 1.0发布,增加了lambda、map、filter等函数式编程特性。

2000年,Python 2.0发布,增加了列表推导式、垃圾回收等功能。

2008年,Python 3.0发布。 这是一个重大更新,不兼容Python 2。

Python 3修复了许多设计缺陷,但也带来了迁移问题。许多项目不愿意迁移到Python 3,导致Python 2和Python 3长期共存。

直到2020年,Python 2才正式停止支持。

Python的崛起
#

Python早期主要用于系统管理和脚本编写。它简单易学,适合快速开发。

但Python真正崛起,是在两个领域:

第一,数据科学。

2010年代,数据科学开始兴起。Python有丰富的数据处理库:

  • NumPy:数值计算
  • Pandas:数据分析
  • Matplotlib:数据可视化
  • Scikit-learn:机器学习

这些库让Python成为数据科学家的首选语言。

第二,Web开发。

Python有强大的Web框架:

  • Django:全功能框架,适合大型项目
  • Flask:轻量框架,灵活可扩展

Instagram、Pinterest、Dropbox等公司使用Python开发后端。

Python与AI
#

2010年代后期,深度学习兴起。Python成为AI的主流语言。

关键框架都是Python:

  • TensorFlow:Google开发的深度学习框架
  • PyTorch:Facebook开发的深度学习框架
  • Keras:高级神经网络API

为什么AI选择Python?

第一,简单易学。 AI研究者不一定是编程专家,Python降低了门槛。

第二,丰富的库。 NumPy、Pandas提供了数据处理基础,AI框架可以专注模型。

第三,胶水语言。 Python可以调用C/C++代码,AI框架的底层用C++实现高性能,Python提供易用接口。

今天,如果你想学习AI,Python是必学的语言。

Python的流行
#

Python已经成为世界上最流行的编程语言之一。

在TIOBE指数、Stack Overflow调查、GitHub项目数等排名中,Python经常位居前列。

Python流行的原因:

入门简单:语法简洁,适合初学者。很多大学用Python作为编程入门语言。

功能强大:从Web开发到数据科学,从自动化脚本到AI,Python几乎可以做任何事情。

生态丰富:PyPI(Python包索引)有超过40万个第三方库,几乎任何需求都有现成的解决方案。

社区活跃:Python社区友好包容,新手容易获得帮助。

吉多的故事
#

吉多长期担任Python的"仁慈独裁者"(BDFL)——他拥有最终决定权,但通常会听取社区意见。

2018年,因为社区对一项语言特性的争议,吉多宣布辞去BDFL角色。他说:“我累了,需要休息。”

Python社区成立了指导委员会,集体决策语言的发展方向。

吉多现在在微软工作,继续参与Python开发。他说:“Python的成功超出了我的想象。我只是想创造一门自己喜欢的语言,没想到它改变了世界。”

Python的局限
#

Python不是完美的语言。

性能问题:Python是解释型语言,比编译型语言慢。虽然可以用C扩展加速,但核心仍然是Python。

移动开发:Python在移动端(iOS、Android)支持不好,不适合开发移动应用。

并发编程:Python的全局解释器锁(GIL)限制了多线程性能。

但在大多数场景下,Python的优势远大于劣势。开发效率比运行效率更重要。

下一步:开源运动
#

Python是开源软件。任何人都可以查看源代码、修改、分发。

开源运动改变了软件行业。Linux、Apache、Firefox、Python……开源软件无处不在。

明天,我们来讲开源运动的故事——Linux如何挑战微软,开源如何改变世界。


今日知识点
#

解释型语言(Interpreted Language) 代码不需要编译,由解释器逐行执行。Python、JavaScript、Ruby都是解释型语言。解释型语言开发效率高,但运行速度比编译型语言慢。

Python之禅(The Zen of Python) Python的设计哲学,强调简洁、可读、实用。在Python解释器中输入import this可以看到全文。“美丽优于丑陋,简单优于复杂"是核心理念。

胶水语言(Glue Language) 可以把不同语言的代码"粘合"在一起的语言。Python可以调用C/C++库,常用于连接底层高性能代码和上层应用逻辑。


思考题
#

  1. Python的设计哲学强调"可读性很重要”。你觉得代码的可读性和运行效率,哪个更重要?
  2. Python成为AI时代的主流语言,你觉得是偶然还是必然?

明天预告:开源的力量——Linux如何从一个人的业余项目变成软件世界的基石?

计算机前世今生 - 这篇文章属于一个选集。
§ : 本文

相关文章