Chinaunix首页 | 论坛 | 博客
  • 博客访问: 226257
  • 博文数量: 32
  • 博客积分: 2318
  • 博客等级: 大尉
  • 技术积分: 298
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-14 01:07
个人简介

新博客: http://qinchuan.me

文章分类
文章存档

2012年(2)

2011年(7)

2010年(6)

2009年(8)

2008年(9)

分类:

2009-11-02 01:19:24

This is an article written by someone else. I like it, so copy it here.


我把好书分成两种: 1、经典   2、字典


所谓经典,就是简洁精准的把一个新世界展示给你的那种。

看过经典,你了解的不仅仅是一件东西“是什么”,同时还包括了“为什么”,并且——更重要的——还可以让你明白,在这个新世界里如何建造自己的家园甚至是优化、改造这个世界本身。

比如,c++ primer就是一本经典;被称为“龙书”的那本编译原理同样也是经典。




所谓字典,就是清晰精确的把所有概念、细节有序组织起来,使得你可以以最快的速度查找到最相关的标准答案——所谓标准答案,自然必须在精确性、权威性、深度等等方面都达到足够的标准。

比如,c圣经就是一本优秀的字典——甚至很多地方都达到了经典的标准。



很显然,学一样东西,应该从经典入门,掌握世界的大体布局;然后动手实践,有不理解的就继续阅读经典;当所有东西都有眉目了,再有不会或拿不准的,就该去查字典了。


谭的书之所以不好,原因就是他以写字典的口气写经典,内容干巴巴的,读完好像关于C什么都知道了,其实两眼一抹黑,什么有用的东西都做不出来;可是拿来当字典用呢,这本书又太浅、太旧,错谬过多,以至于毫无工程参考价值。

——最坏、最危险的东西,并不是把错误的东西教给你,而是有意无意的隐瞒了一部分真相,最终导致你形成错误的世界观。

技术上的东西,除了某些标准之外,被做成现在的样子,必然都是有很充分的原因的,

基本上,它们不是很明显的、赤裸裸的为某个设计目的服务,就是因为这样那样的原因而不得不以一种“看似绕了弯路”的方式赤裸裸的为某个工程目的服务。

越是精巧、艰难的技术,需要绕的弯路往往也就越多。
比如编译原理就必须先抓规律,从如何由一大堆字符中独立拆分出语句开始引入终结符概念,然后再拐向文法以及文法的推导,最后才能绕回来,写出可以自动编译高级语言源码的程序来。

所以,一本好的入门书,绝对不能只讲什么概念如何定义——一个老外可能仅仅靠一本新华字典学会汉语吗?——而是应该想办法把学习者带入这门学问出现之前的 状态,一点一点让他们明白当时面对的是什么问题、如何解决;原始简陋的解决方案又有什么问题、为解决这个又要走什么弯路,最后才和你一起把正确的东西引出 来。

它给你的感觉,不应该像是一个宗教领袖或一本圣经,喋喋不休的给你灌输一大堆“心诚则灵”“听我的没坏处”“我经历过,所以我知道”的“不容置疑”的“真 理”;相反,它应该像是和你一起工作的、聪明绝顶的同事:你们一起遇到了很多很多麻烦,但他都想办法解决了——于是你跟着也学聪明了。
(比如,龙书给我的感觉就是:一个得意的炫耀自己如何攻克世界难题的伙计,由于他把自己处理麻烦的技巧、思路都公布了,所以我也学会解决编译问题了)



相比之下,中国的课本——不仅仅是编程语言方面,几乎是所有科目——都是一个为考试而学习的人作的读书笔记。所以读来如同背字典一般乏味;为了“降低”这 种背字典的负担,“好”的中国课本还会搞出一陀陀黑体字,以提醒读者这些内容会被考到、那些内容“超了范围”,把乏味的《小学生生字字典》搞的更加乏味和 无用。
ps:我摘抄了其中最认同的两段,是shan_ghost贴的,看了后感觉太精到了,特此留存。

 原文地址
阅读(1018) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~