内容简介:最近做卖桃者说,加上筹备 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源代码中设置数组元素的缩进?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Big Java Late Objects
Horstmann, Cay S. / 2012-2 / 896.00元
The introductory programming course is difficult. Many students fail to succeed or have trouble in the course because they don't understand the material and do not practice programming sufficiently. ......一起来看看 《Big Java Late Objects》 这本书的介绍吧!