Python 之父谈 Python 的强制缩进及其他

栏目: Python · 发布时间: 5年前

内容简介:最近做卖桃者说,加上筹备 Python 核心技术进阶专栏,我又读了不少计算机领域的传奇故事和历史。最近看了一段 Python 之父 Guido van Rossum(范罗苏姆)的早期访谈,非常有意思,也解了我不少困惑,跟大家分享一下。1956 年范罗苏姆在荷兰出生,一般情况下,如果中间名有个「van」,第一反应就可以猜猜他是不是荷兰人,比如我喜欢的球星范巴斯滕。1982年,范罗苏姆从阿姆斯特丹大学毕业,获得了数学和计算机两个硕士学位,但相比数学,他更喜欢做计算机相关的工作,用他的话来说,就是热衷于干任何和编

Python 之父谈  <a href='https://www.codercto.com/topics/20097.html'>Python</a>  的强制缩进及其他

最近做卖桃者说,加上筹备 Python 核心技术进阶专栏,我又读了不少计算机领域的传奇故事和历史。最近看了一段 Python 之父 Guido van Rossum(范罗苏姆)的早期访谈,非常有意思,也解了我不少困惑,跟大家分享一下。

1956 年范罗苏姆在荷兰出生,一般情况下,如果中间名有个「van」,第一反应就可以猜猜他是不是荷兰人,比如我喜欢的球星范巴斯滕。1982年,范罗苏姆从阿姆斯特丹大学毕业,获得了数学和计算机两个硕士学位,但相比数学,他更喜欢做计算机相关的工作,用他的话来说,就是热衷于干任何和编程相关的活儿。

大学毕业后,范罗苏姆加入 CWI,这是一所主要做数学与计算机方面学术研究的机构。这段工作经历对他非常重要,他的编程理念,包括对 Python 的设计思想都是在这里初步形成的。

关于范罗苏姆的故事,明天会有一期专门的卖桃者说上线详细讲述,今天说说他的采访。

问:为什么你在设计 Python 语言的时候采用了强制缩进的方式来划分程序域?

如果你是个 C 或 Java 程序员,习惯了用大括号来划分程序域 —— 其实大部分语言都是这么做的 —— 看到 Python 是用缩进来搞定这件事,你马上会觉得「这太逆天了」,我当年学了 Perl,Java 之后再使用 Python,就是这种感觉。

范罗苏姆是这么说的:这种强制缩进,并不是什么新概念。当年我在 CWI 使用 ABC 语言编程的时候,人家就这么干的。我从 ABC 语言中继承了这个概念。不过 occam 这种很古老的语言也是用了这种方式,我不知道他们是谁先采用的,也许都是独创。这种思想也可能出自 Don Knuth(高德纳,著名计算机科学家,经典巨著《计算机程序设计艺术》的作者),他早在 1974 年就提出过这种做法。

范罗苏姆的想法是,如果「常识」上确立的东西,没有必要过度纠结。当然,这种常识是他的常识,至于其他人,大家应该会习惯的。并且,范罗苏姆很喜欢 ABC 的特性,他觉得这种设计彻底终结了 C 或 Java 程序员关于大括号直接放在函数名后面还是再换一行的终极争论。另外,他觉得这样的代码更具可读性。严格的格式化会形成更整洁的代码,而且会减少不同 程序员 的代码「布局」区别,何乐而不为呢?

于是 Python 就一直把这种代码风格延续下来,并成为了自己的鲜明特点。

问:如果想熟练使用 Python 编程,你有什么建议吗?

范罗苏姆说:实用主义。如果你过分纠缠数据封装,访问控制、抽象或规范这样的理论概念,你就不是一个真正的 Python 程序员。而且,你会浪费时间在「与语言为敌」上面。什么是与语言为敌,就是你是用 Python 的时候,还试图延续 Java 的使用习惯。你应该去享受它,使用它的特性。如果你信奉即时满足,喜欢极限编程和敏捷开发,那 Python 就是你的最爱。

问:你如何定义优秀的程序员。

范罗苏姆说:他们会显示出创造力,学习速度很快,而且很快编写出可用的代码,并且 bug 很少。优秀的程序员并不是什么都会,什么都擅长,而是各有千秋。有的擅长算法和数据结构,有的擅长系统集成、协议设计、API、多媒体等。好的程序员能够让梦想成真。

我们 Python 工程师还有一句最常用的话,英文是「Life is short, you need Python」,中文就是我常说的,人生苦短,我用 Python。

关于范罗苏姆,欢迎收听明天的卖桃者说。另外, 大家期待已久的 Python 进阶专栏,今天终于上线了 。之前每次推荐零基础学 Python,总有读者问,都学完了啊,核心技术和进阶实战在哪呢?搞的我挺不好意思。

今天我们联合 Facebook 资深工程师景霄老师开设了「 Python核心技术与实战 」专栏。景霄目前从事机器学习的相关工作,主要工作领域是人工智能的推荐 排序 系统与算法,曾领导多个上亿用户级产品的开发与落地,有着丰富的工程与实战经验。

进入大数据和 AI 时代,Python 实在是火的不行。 PYPL (即编程语言流行指数,基于 Google 搜索频率而定)出炉了 5 月编程语言排行榜Python 打败 Java,拿下 NO.1 ,成为最流行的编程语言。TIOBE 排行榜也显示, Python 的应用程度屡创新高,目前排名第四,并保持高速增长。由于 Python 在大数据和 AI 领域的广泛应用,说它是人工智能时代的第一编程语言,应该是众望所归。

专栏的内容不详细介绍了,之前的零基础学 Python 视频课已经超过了 1.2 万人学习,这次是进阶。从基础,到核心知识,比如 Python 协议、高级语法、正则表达式、协程、并发编程、垃圾回收机制等等,再到如何使用这些技能写出高质量的应用程序,最后一部分是实战课,作者会带领大家做一个 量化交易系统 ,把知识穿连起来,融会贯通。

之前订阅过「 零基础学 Python 」的用户,我安排送了大家 10 元优惠券,是时候开始进阶了。

扫码订阅,优惠期 68 元,老 Python 用户再减 10 元 58,和大家一起进入 Python 精彩纷呈的世界吧。

Python 之父谈 Python 的强制缩进及其他

点击 原读原文 ,了解详情。


以上所述就是小编给大家介绍的《Python 之父谈 Python 的强制缩进及其他》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ruby for Rails

Ruby for Rails

David Black / Manning Publications / 2006-05-11 / USD 44.95

What's Inside * How Ruby and Rails work, separately and together * Extensive Ruby language tutorial * Ruby techniques for Rails applications * Explore the Rails framework source code A new level of pr......一起来看看 《Ruby for Rails》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具