内容简介:最近做卖桃者说,加上筹备 Python 核心技术进阶专栏,我又读了不少计算机领域的传奇故事和历史。最近看了一段 Python 之父 Guido van Rossum(范罗苏姆)的早期访谈,非常有意思,也解了我不少困惑,跟大家分享一下。1956 年范罗苏姆在荷兰出生,一般情况下,如果中间名有个「van」,第一反应就可以猜猜他是不是荷兰人,比如我喜欢的球星范巴斯滕。1982年,范罗苏姆从阿姆斯特丹大学毕业,获得了数学和计算机两个硕士学位,但相比数学,他更喜欢做计算机相关的工作,用他的话来说,就是热衷于干任何和编
最近做卖桃者说,加上筹备 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的缩进规则
- go基础库之缩进文本文档
- Python 的缩进是不是反人类的设计?
- 木兰重生:木兰代码格式化之自动调整缩进的 150 倍性能优化
- 缩进,漂亮的打印代码,包括Django模板标签,HTML,CSS和JavaScript
- javascript – 如何在Eclipse中的Java Script源代码中设置数组元素的缩进?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!