《Dive Into Python》非死不可

译者言:

早在 2008 年 8 月,我就曾在自己的博客发表了一篇《为什么<Dive into Python>不值得推荐》(http://blog.csdn.net/lanphaday/archive/2008/08/28/2845258.aspx ),当时引起的讨论就不多说了,不过事实上到今天仍然有许多朋友留言与我讨论,让我几次贼心不死,想写再深入批判。好运的时候在我真正攒足动力之前,看到了这篇《Dive Into Python Must Die》,骂得痛快!所以我就把它简单翻译一下,借花献佛,也算是作为大家对我之前的小文的一个回应。

===================

原文:http://oppugn.us/posts/1272050135.html

译:赖勇浩(http://laiyonghao.com

By Zed A. Shaw

《Dive Into Python》非死不可

我受够了。 《Dive Into Python》 是一本关于学习 Python 的烂书,它非死不可。 许多人找到这本书,并被它极其垃圾的章节设计弄 死在学习之路上,为此我决定宣战了。 该书不可思议,使用过时的技术,举面目可憎的例 子,并且 Mark Pilgrim(作者)面对他人评论时冷嘲热讽:

09:42 @ diveintomark @ zedshaw 完全重写了一本我 6 年没打理过的书的前3章? 是的,我即刻去办。

11:32 @ diveintomark @ zedshaw 你肯定是有很多意见。 你最好在博客上写!

这是他对我提出从书中把 ODBC 相关章节删除的答复。 现在已经 2010 年了,他那本号称能够教会大家编程的该死的书,仍然使用上世纪 90 年代的技术。 是的,事实上 他 是在 6 年前教学 Python 时开始 写他的书的。 但即使当时这也是一个愚蠢 的决定。

这在科技书历史上闻所未闻。 Mark Lutz 的书《Learing Python》已更新 4 次,内容与这门编程语言严格一致。 他的书很容易阅读,很容易 教会大家,读者并不需要有多少有关计算机的知识。

与此同时,Pilgrim 先生的书已经 6 年没有更新,虽然它是在线书籍,读者能够给作者提交补丁。 没错,这家伙的书是摆在了网络上,可是即使大家 都给他提了意见和反馈,他仍然懒得更新。 如果他把书的源码拿出来,那么大家也可以为他纠 正这些错漏,但他没有。他把自己的那砣屎放到网上免费阅读,以此作为与《Learing Python》竞争的唯一手段。

《Dive Into Python》并非仅仅因为使用了 ODBC 而被评为烂书,即使第一个例子也烂到如同狗屎。 看看你的第一个 Python 程序 ,有多少东西需要初学者能够憣然领悟:

  1. 带着一砣巨大的文档字符串 去定义函数。
  2. 面目可憎的双下划线变量,还使用了一个垃圾字 体,让人看起来以为是单下划线。
  3. 上来就用 list comprehension 替代了 for 循环,这是用来把元组中的元素格式化后串接在一起功能。
  4. 定义字典的时候使用来并不 需要的反斜杠来格式化代码。

靠,这是一个设计良好的“第一个例子”吗? 更糟糕的是它以 ODBC 为主线来教 Python。

尽管 Python 实际上是设计得极易于使用的少数语言之一,但当初学者看到这本书,会觉得它如此复杂和艰难, 能够让他们羞愧到恨不得一 头撞死在这本书上。

《Dive Into Python 3》的第一个例子也烂得像砣屎。 让我们掩鼻来看看所谓的你的第一个 Python 程序 这是多么操蛋的事情啊! 你写的第一个程序居然涉及 如此多的知识点:

  1. 带有字符串和列表和多层词典。
  2. 函 数后面紧跟一砣文档字符串,混淆了语法。
  3. 抛出异常。
  4. 如 何使用三元运算符风格的 if 语句。
  5. 循环嵌套。
  6. 主 函数技法使用了非常烂的字体,双下划看起来就像单下划线一样。

这就是所谓的第一个 程序? 当有人叫初学者去读《Dive Into Python》,他们遇到这样的例子,应该会泄气吧? 我希望作者能够声明或警告 大家:这不是初学者的书,但他没有。 事实上,他用整整一章的篇幅来写“安装 Python 3”,显然他就是写给初学者的。

这本书一开始就使用糟糕透顶的例子,读者难以循序渐进地学习,它的存在实际上伤害了 Python。 当初学者遇到挫折,他们会气馁,然后转向另一种语言。 我个人有太多的朋友原本渴望学习编程,但在我警告他们之前找到了这砣恶臭的狗屎,最后他们远离了编程。

我说完了。 Pilgrim 先生并不理解初学者的需要(其他“专家”也如此),只能给大家一砣狗屎。 由于他不愿意更新图书和解决它那些显而易见的问题,而且他拥有这样做的自由,那么唯一能做的就是请求大家 推荐这本书。

不管出于什么目的,请告诉他人不要从《Dive Into Python》开始学习。 否则你只会使他远离这门语言,甚至是远离编程。

没有更多推荐了,返回首页