首页 > 推荐阅读

很多编程书籍都是垃圾,大家一定要擦亮眼睛,不要被误导

创作编程教材期间,我参考了很多国内书籍,它们的作者有程序员、培训机构和大学老师,不得不说,很多书籍都是垃圾,不但不是知识进步的阶梯,反而是知识进步的障碍,尤其是大学老师编写的课堂教材。

人们一直认为书籍都是神圣的,说的都是真理,书籍作者也都是大咖,受人敬仰。噗~拉倒吧,好书真的不多。

我说垃圾,并不是说书上的知识是错误的,而是说它们太严肃、太刻板、太教条,导致读者根本看不懂,误以为知识很难,推高了学习成本。

世上没有难学的知识,只有看不懂的教材!只说“官话”不说“人话”是大部分书籍的症结所在。

写一本好书需要具备的素质

书是给人看的,让人看懂才是最重要的,所以语言要通俗易懂、深入浅出,既要有信息量,也要讲得通透。但这恰恰是最难的,写一本好书对作者的要求很高:
  1. 作者必须有扎实的编程功底,刚入门的程序员不行;
  2. 作者必须有丰富的实战经验或者工作经验,大学老师往往忙于科研和讲课;
  3. 作者必须善于思索和探究,并且逻辑思维能力强,学习成绩不好的作者往往不擅长;
  4. 作者必须具备一定水平的文字功底,能把中国话说得通顺。

第 1 和 2 两点是刚性要求,自不必多说。

第 3 点非常重要,也是很多作者欠缺的。作者可能经常使用某个知识点,但是也仅仅停留在使用层面,对它的本质并没有一探究竟,不知道它的底层原理,所以写出来的书就不能深入浅出。只有作者自己先看透本质,才能用浅显的语言展示给读者。

作者了解 100%,读者也就吸收 60%,如果作者自己也搞不懂,那么读者基本就是一脸问号。例如在讲解面向对象概念的时候,很多书籍都这样写:

类是对某一类事物的描述,是抽象的;对象是实际存在的,是该类事务的一个个体。例如,动物就是一种“类”,狗、猫、人、羊就是一种“对象”。

这种说法完全正确,而且非常严谨,这就是类和对象的学术定义。但是,初学者真心看不懂,它用板砖拍自己脑门也想不明白,这究竟是个什么玩意。这就是典型的只说“官话”不说“人话”,恁娘。

为了给初学者揭开面向对象的神秘面纱,我自己也写了一篇文章,有兴趣的读者请转到《面向对象究竟是什么鬼?该如何理解?》。

第 4 点可能有人质疑,谁不会说中国话呀,搞得大家不像中国人一样。我告诉你,这一点很难,90% 以上的程序员都不具备这个能力。虽然大家在聊天过程中不觉得语言是障碍,但是你换做书面语言试试,我保证你写出来的是小学生作文水平,你自己读起来都呕吐,除非你平时有写博客、写小说、写诗歌的习惯。

以上种种原因,导致写一本好书真的不容易,所以好书不多,大家在学习时一定要擦亮眼睛,不要随便找一本书就啃,这样不但有可能学不会编程,还有可能给学习制造障碍。有些书能够帮助读者,但是有些书会祸害读者。

尽量避开大学教材

大学教材是我见过的最烂的教材,没有之一;K12 教材是我见过的最好的教材,也没有之一。评价教材的一个重要标准是,能否让初学者看懂,而不是让专家看懂。

K12 教育一般指小学+初中+高中,当然也有包含幼儿园的。

大学教材之所以烂,是因为全国没有统一教材,各个大学自由选择,NB 的大学自己编写教材,普通的大学选择 NB 大学编写的教材,很少有体制之外的教材。

全国高校各自为政,意味着编写教材时投入的精力少,或者作者敷衍领导。另外由于教研风气限制,不能写得天马行空,必须体现出极强的专业性。所谓专业性,从一定程度上讲就是让一般人看不懂,曲高和寡。

这导致的后果是,大学教材非常严谨,也非常正确,专家拍手叫好,但是,初学者却死活看不懂,误以为要学的知识非常高深,竖起敬畏之心。

K12 教材之所以优秀,是因为全国教材都是统一的,教育部集中了全国最顶尖的教育专家花费了多年时间来研发,这样做的结果是:K12 教材不但严谨正确,而且生动有趣,让人读得懂。

大学教材是捣鼓出来的,而 K12 教材是研发出来的,你细品一下,这能是一个 Level 的产物吗?

大家在阅读编程书籍时,请尽量避开高校教材,选择个人程序员编写的书籍,或者培训机构编写的书籍。你没听错,培训机构为了招生,打造口碑,也会出版一些编程书籍,其中也有不少质量靠谱的。

读者要自信

世上没有难学的知识,只有看不懂的教材!如果一本书针对初学者编写,但是你却看不懂,请坚信这不是你智商低,而是作者太笨。

垃圾书籍给读者制造了很大障碍,不但消磨了读者的时间,而且打击了读者的信心,甚至转移了读者的兴趣,再怎么喷都不为过。

重要的事情说三遍:
最后我再给你自己挖个坑,后续我要写一篇文章,教大家如何找到优质书籍,敬请期待...

推荐阅读