此文没有贬低谭浩强的意思,因为我开始学习编程的时候也是从C语言开始,也是看了谭浩强的书,然后是我一直都没有看懂什么是指针,然后在我心里种下了指针阴影。到不说谭浩强的那本书有误人子弟之嫌,只是那本C语言入门的书实在是不适合没有任何编程经验的人来阅读,但是他的目标读者确确实实的又是没有丝毫半点经验的门外汉,导致这样矛盾的原因我想恐怕是所谓的精英教育理念所导致的吧。
在谭浩强出版第一版C语言书籍的时候,那时候能够接触到电脑的人是少之又少,能够碰到电脑的人那肯定至少是大学生(那时候的大学生还是有水平的)之流,这些人也就是所谓的精英了,那么对于这些精英来说谭浩强的书倒是很对他们的胃口,概念清晰,逻辑通常,尽管指针还是有难度,但是对于这些精英来说,不畏艰难是最基本的品质,而且当时国产的教编程的数据是少之又少,谭浩强的C语言入门书籍的确是当时难能可贵的很好的学习教材。
但是随着时代的变迁,别说是电脑人人都会使用,现在就是1岁小孩子都能拿手指在手机上面点来点去了,编程也早已从面相精英转变成了面向幼儿编程了,人人都会编程早从比尔盖茨时代就已经广为流传,为了让大家都会编程,比尔盖茨把Basic这门即将入土的语言都给挖了出来,披上现代化的外衣发布了Visual Basic,时至今日Office的插件开发你都可以直接使用Visual Basic来编写。
在这样的大环境的变化中,谭浩强的书就有点不适应现在的局面了,甚至国内几乎所有的技术类的书籍都不适应现在的市场,首先就是知识的落后,谭浩强的C语言教材到现在还是讲的老一套C语言标准,不可否认C语言标准这几十年来确实没有巨大的改变,几十年前那一套搬到现在还能使用,但是现在的C开发环境已经与以前大为不同,首先就是编译器,现代的编译器已经是GCC或者LLVM了,对于代码的抽象以及优化已经不是几十年前可以比拟的,可是谭浩强的书还在使用Turbo C,这是什么古董级的编译器了,就算是上google都不一定能够找到这玩意了,难道所有的再版的意思就是再次印刷出版?都不需要与时俱进一下的吗?我看到的国外的技术类书籍的一版二版可不仅仅是错误的纠正,更是对技术进步后的内容改进,让书籍的内容能够紧跟技术的发展步伐,让读者能够掌握最新的知识,这才是一个有良心的作者或者出版社应该有的态度吧。
然后是那种四、五十年代的排版风格,这种密密麻麻的文字排版真的很难让读者愉快的阅读,以前要说纸张贵,那么文字排的紧凑点还好说说,可是现在纸张也不便宜,但是你的书的价格倒是翻了不止十倍了,那么你的排版能不能更讲究一点呢?一本书有好几种字体,代码的字体还是那样不便于阅读,解释的字体也与正文无法区分。而饭馆国外的入门系列的书籍,排版简洁,宁可售价提高但是给我们的留白也多呀,为什么要那么多留白,一来看起来舒服,二来给你那么多空间你可以随便做笔记,把思路写在书上,这不就是学习应该有的样子么?
再来说说谭浩强的书给人最大的误导就是关于指针方面的知识了,指针是C语言中一个重要的概念,但是整本书把几乎三分之一的篇幅都用于讲解指针的重要性上就有有失偏颇了吧。说白了指针就是保存内存地址的一这个整数值而已,但是谭浩强的书却一定要把简单的概念复杂化,什么指针的指针,函数的指针,指针的函数,数组的指针,指针的数组,被这些概念绕的天花乱坠,然后还不断强调,一定要小心操作指针,否则电脑就会奔溃。明明没有那么复杂的概念,当你看过谭浩强的书后就会觉得C语言好难啊,我还是赶紧放弃吧。
我没有否认谭浩强为中国的计算机事业发展作出的贡献,毕竟在那个年代能有人把自己的知识整理出来教给大家已经是已经难能可贵的事情,而且现在再版的谭浩强的书恐怕也不是谭浩强本人编撰的吧,都是出版社自己再版的,出版社借用谭浩强的名声谋取经济利益,却无视书籍过时的知识会害了多少有志青年,这是多么令人发指!而这种情况难道仅仅只发生在谭浩强的一本书上么?国内的技术书籍基本上都是你抄我,我抄他,看一本就了解一堆书的内容,这种毫无知识营养的书籍不单单是浪费了我们的钱,更是浪费了我们的时间和宝贵的大脑空间,我们要不断花时间筛选真正有价值的内容,这难道不是书籍本来就应该为读者提供的吗?为什么罗永浩这类的知识经济会崛起,那是因为他们的知识是紧跟时代的知识,是对消费者有帮助的知识,而现在的人不爱读书,跟这本书很难读不是没有一点关系吧。
原创文章,作者:董 宝山,如若转载,请注明出处:http://boke.6ke.com.cn/?p=17198