The fear of the LORD is the beginning of knowledge; fools despise wisdom and instruction.(PROVERBS 1:7)

敬畏耶和华是知识的开端,愚妄人藐视智慧和训诲。

关于Python的故事

我已经在《零基础学Python(第一版)》中写了一个专门讲述Python故事的——唠叨一些关于Python的事情——章节,今天再写类似的标题,不打算完全重复原来的,只是把部分认为重要的或者不可或缺的东西复制过来。

越来越火的Python

在前几年(before 2011),我跟一些朋友介绍python的时候,看到的常常是一种很诧异的眼神,通常会听到:

“那时什么东西?”
“解释性语言会不会很慢?”
“没听说谁用呀?”
“能像php,java,c#那样用来做网站吗?”
“什么?你说的是pascal?你还在用这个老古董?”
“哦,我听说过,有一些老外在用,不过我们这还没有人用呢。”

时过境迁,现在已经有了很大变化。

2014年初,我开始写《零基础学Python》系列,就得到了很多朋友的支持,而且吸引了不少学习Python的朋友,特别是在我的那个QQ群里面,集中了不少学习者和爱好者,当然也有高手深藏不露。

特别是今年(2015年)一开始,在QQ群里面,就有朋友说,他在上海找工作,看到好多公司都要有Python开发经验的。也有朋友委托我推荐Python程序员的。

从我自己的经历中也感受到,不仅仅是国外,国内也如此,用Python的领域越来越多,找Pythoner的公司和机构也越来越多了。

所以,学习Python,挺好(包括女生,也是“挺”好)。

还要补充一点,Python能够满足现在最时髦的“大数据”方面的开发需要,要想了解,推荐阅读《大数据全栈式开发语言 – Python》

需要什么基础吗

这是很多初学者都会问的一个问题。诚然,在计算机方面的基础越好,对学习任何一门新的编程语言,都是更有利的。如果,你在编程语言的学习上属于零基础,也不用担心,不管用哪门语言作为学习编程的入门语言,总要有一个开始吧。

就我个人来看,Python是比较适合作为学习编程的入门语言的(作为学习编程的入门语言,我现在最不理解的是用C,因为很多曾经立志学习编程的人学了C语言之后,才知道自己不适合编程。难道是用C来筛选这个行业的从业者吗?)。总之,不用担心自己的所谓基础问题。

看我这个教程的标题,就是强调“零基础”的。

不仅我这么认为,美国有不少高校也这么认为,纷纷用Python作为编程专业甚至是非编程专业的大学生入门语言。

最后的结论是:学习python,你不用担心基础问题。特别是看我的教程,我的目标就是要跟你一起从零基础开始,直到高手境界

优雅的Python

Python号称是优雅的。但是这种说法仁者见仁智者见智。比如经常听到大师们说“数学美”,是不是谁都能体验到呢?不见得吧。

所以,是不是优雅,是不是简单,是不是明确,只有“谁用谁知道”。

不过,我特别喜欢下面这句话:人生苦短,我用Python。意思就是说,python能够提高开发效率,让你短暂的人生能够除了工作之外,还有更多的时间休息、娱乐或者别的什么。

或许有的人不相信,那么也只有“谁用谁知道了”。

跟别的语言比较

“如果你遇到的问题无法用Python解决,这个问题也不能用别的语言解决。”——这是我向一些徘徊在Python之外的人常说的,是不是有点夸张了呢?

最近看到了一篇文章,《如果编程语言是女人》,我转载如下(考虑到篇幅所限,所了适当删改,非删减请通过连接查看原文):

PHP是你的豆蔻年华的心上人,她是情窦初开的你今年夏天傻乎乎的追求的目标。玩一玩可以,但千万不要投入过深,因为这个女孩有严重的问题。

Ruby是脚本家族中一个非常漂亮的孩子。第一眼看她,你的心魄就会被她的美丽摄走。她还很有有趣。起初她看起来有点慢,不怎么稳定,但近些年来她已经成熟了很多。

Python 是Ruby的一个更懂事的姐姐。她优雅,新潮,成熟。她也许太过优秀。很多小伙都会说“嘿,兄弟,你怎么可能不爱上Python呢!?”。没错,你喜欢Python。你把她当成了一个脾气和浪漫都退烧了的Ruby。

Java是一个事业成功的女人。很多在她手下干过的人都感觉她的能力跟她的地位并不般配,她更多的是通过技巧打动了中层管理人员。你也许会认为她是很有智慧的人,你愿意跟随她。但你要准备好在数年里不断的听到“你用错了接口,你遗漏了一个分号”这样的责备。

C++ 是Java的表姐。她在很多地方跟Java类似,不同的是她成长于一个天真的年代,不认为需要使用“保护措施”。当然,“保护措施”是指自动内存管理。你以为我指的是什么?

C 是C++的妈妈。对一些头发花白的老程序员说起这个名称,会让他们眼睛一亮,产生无限回忆。

Objective C C语言家族的另外一个成员。她加入了一个奇怪的教会,不愿意和任何教会之外的人约会。

虽然是娱乐,或许有争议,权当参考吧。

The Zen of Python

这就是著名的《Python之禅》。

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than right now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

感谢Guido van Rossum

Guido van Rossum 是值得所有pythoner感谢和尊重的,因为他发明了这个优雅的编程语言。他发明python的过程是那么让人称赞和惊叹,显示出牛人的风采。

1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是一个蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并取得了非常好的效果,完美结合了C和其他一些语言。

这段故事的英文刊载在:https://www.python.org/doc/essays/foreword/

新版的设想

我写《零基础学python(第二版)》,是承接第一版的,并在第一版基础上,做了较大量的修改,比如每个章节的标题,现在改为更为直接的描述,而不是用那种文艺范写了,因为这样不仅更明确,而且还能用于以后备查。

此外,我会继续原有的大家认可的风格,兼顾零基础和后续的发展。特别是要在里面穿插如更多的项目例子。


总目录   |   下节:从小工到专家