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》竞争的唯一手段。

扫描二维码关注公众号,回复: 5969923 查看本文章

《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》开始学习。否则你只会使他远离这门语言,甚至是远离编程。

           

猜你喜欢

转载自blog.csdn.net/qq_44925249/article/details/89421125