编程随想 | 如何完善自己的知识结构

  最近一个月比较忙,积欠了不少邮件和留言没有回复,向各位表示歉意 :(
  也希望大伙儿体谅,俺只是靠个人的业余时间和精力维护这个博客,随着读者的增多,难免有些应接不暇。

★引子

  最近几年,陆续有读者来信跟俺交流”知识管理”这个话题。也有读者在博客留言,建议俺专门为此话题写一个系列。不过捏,因为手头还有 N 多系列没有收尾,再开新的系列要激起公愤了 :) 所以,今天只单独写一篇,谈谈俺对知识结构的看法。
  其实捏,这是一个很大的话题,想用一篇博文完全说清楚,不太现实。俺只从三个层面入手,说说个人的看法,仅供列位看官参考。

★领域

  (本来想用”学科”这个词,后来觉得”学科”的范畴还是偏小,就改用”领域”)
  按照传统的习惯,通常会把知识归类到不同的领域(比如:文学、数学、计算机、烹调、等等)。

◇领域之间的包含关系

  有些领域是另一个领域的一部分。
  比如说,俺博客经常聊的”信息安全”,其实是”IT”这个领域的一个分支领域。
  上面这类关系比较好理解,套用数学中集合论的说法,就是”某个领域是另一个领域的子集”。

  还有一种稍微复杂一点的包含关系——某个领域同时被其它多个领域所包含。对这种关系,可以大致理解为”多个集合的交集”。
  比如”量子信息学”,可以大致看成是信息学和量子力学的交集。

◇领域之间的辅助关系

  有些领域需要另一个领域的知识进行辅助。
  比如,很多学科都用到 CAD(计算机辅助设计),这就是领域之间”辅助关系”的例子。
  如果某个领域为很多其它的领域提供辅助,那么这种领域常称之为”基础性领域”。比如在自然科学中,数学往往是基础性领域。

★跨领域的知识分布

◇广度和深度

  所谓的”广度”,就是指你的知识结构中,包含了多少领域。
  所谓的”深度”,就是你对具体的每一个领域是否具有深入的了解和研究。

◇深度的重要性

  深度的重要性,大伙儿应该都明白。所以俺只简单说一下。
  如果某人的知识结构只有广度而没有深度,就会导致——其个人能力没有突出的亮点——这种人往往没有太强的竞争力。

◇广度的重要性

  和深度相反,广度的重要性,很多人都没有意识到。俺多费点口水聊一下。
  如今是信息时代,不同领域之间的关联越来越密切。这时候,广度的重要性就体现出来了。
  就拿”写博客”来说吧。
如果你想把博客的界面和排版搞得好一点,你还需要懂一点”HTML、CSS、JS”的知识;
如果你想提高博客在搜索引擎的排名,你还需要懂一点”SEO(搜索引擎优化)”的知识;
如果你像俺一样,想写敏感的政治博文又不想被和谐掉,你还需要要懂一点”翻墙”的知识(以便把博客架设到墙外);
如果你想使用 WordPress 这个功能最强大的博客平台,你还需要懂一点”PHP编程”的知识;
……(这个清单还可以继续列下去)
  你看,即使是”写博客”这么简单的一桩小事,牵涉的领域也不少。所以,想要在某个领域做到足够深入,必然要了解很多相关的辅助性领域的知识

  顺便再聊聊文理科之间的相互鄙视。
  据俺所知,很多文科出身的人看不起理工科;反之,很多理工科出身的人看不起文科。为啥会导致这种原因?很多时候是因为不了解。不了解导致偏见,偏见导致鄙视,鄙视之后就更加不去了解。如此往复,变成恶性循环。
  其实捏,人文学科、社会科学、自然科学这三块,有很多相通之处,也有很多互相借鉴之处。

◇深度和广度的平衡

  虽然深度和广度都很重要,但每个人的时间、精力、天赋都是有限的,你不可能在所需要的每个领域都做到足够深入。那么如何平衡这两者捏?俺的观点是:借鉴正态分布(这玩意儿也叫”高斯分布”,维基百科的解释在”这里“)。

不见图 请翻墙
(这幅图中,横坐标表示不同的领域,纵坐标表示你在该领域的深度)

  尖峰的顶点周围(红色部分)对应的就是你的主攻领域。你需要在这个领域做到足够的深入(越深入越好)。和主攻方向的关系比较密切的领域(黄色部分),你需要比较深入,但深入的程度不需要跟主攻方向一样。和主攻方向关系比较疏远的领域(绿色部分),只需浅尝即止。

◇主攻方向的选择

  如果你运气比较好,自己的工作正好就是自己的兴趣所在,那毫无疑问,这就是你的主攻方向。万一你的兴趣和工作不一致,咋办?俺的建议是,以自己的兴趣作为主攻方向。然后把工作仅仅当作是谋生手段。(类似的观点,格雷汉姆在《黑客与画家》这本书中有提到过)
  俺刚开博的时候曾经写了《如何成为优秀开发人员》系列。第一篇就强调了兴趣的重要性。今天还得旧话重提,再说说兴趣的重要性。
  当你对某个领域有真正的兴趣,你自然就会有:足够的热情,足够的动力,足够的耐心,足够的持久性。有了这几点,自然就能在该领域达到足够的深度。抛开功利因素不谈,如果你能在自己喜欢的领域达到足够的深度,这本身就能带来非常多的快乐(而且这种快乐往往是金钱无法换来的)。

★领域内部的知识体系

◇分支领域

  前面说了,领域之间可能会有包含关系。而且,大部分领域都有不止一个分支领域。
  比如”密码学”和”社会工程学“都是信息安全的分支领域。

◇主题

  (主题这个词不是很贴切,暂时没想到更好的词儿,先凑合用着)
  除了包含若干分支领域,每个领域都会包含很多”主题”。以”信息安全”这个领域为例,”如何防止黑客入侵“就是一个主题。

◇知识树

  假如把某个领域想象成一棵树,那么分支领域就如同树枝(树枝上还可以再有树枝),而主题如同树叶。俺把这称为该领域的”知识树”。如果某个领域是你的主攻方向,那么,你必须能在头脑中清晰地勾勒出该领域的知识树。做到这一点,你对该领域才算有”广度”上的认识。

  举一个反面教材:
  招聘的时候经常碰到某些程序员,只知道 OOP(面向对象编程),从来没有听说过其它的编程范式(要知道,编程范式不下10种)。然后捏,他/她以为把 OOP 掌握透彻就足够了。有的人看了几本 OOP 的理论书籍,就以为自己是编程牛人了。这就是典型的井底之蛙心态——只看到井口上方的一小片天空。造成这种认知误区的根源在于:对自己从事的领域缺乏系统性的了解。

  关于勾勒知识树,再顺便提一下:不同的人对同一个领域勾勒知识树,得到的形态可能会不同。
  比如说对”文学”这个领域:有的人先按照”国别”细分,再按照”体裁”细分;有的人反过来,先按照”体裁”细分,再根据”国别”细分。你很难说,哪一种是对的。也很难说哪一种更好。
  俺的观点是:(构造知识树的时候)适合自己的就是好的。

◇主题的类型

  ”主题”通常是以”疑问句”的形式出现的。俺总结了一下,大部分主题通常可以归为三类:WHAT型、HOW型、WHY型。
  以密码学为例:
“RSA加密算法有什么优缺点?”——这是WHAT型的主题
“RSA加密算法内部是怎么实现的?”——这是HOW型的主题
“RSA加密算法为啥要这样实现?”——这是WHY型的主题

  一说到这三个分类,某些老读者应该会联想到俺前几年的两篇博文《学习技术的三部曲:WHAT、HOW、WHY》和《用提问促进思维——再谈 WHAT HOW WHY 三部曲》。看过这两篇博文,你会意识到如下两点:
1. WHAT型问题 通常是比较肤浅的、表象的;而WHY型问题 通常是比较深刻的 、本质的。
2. 大部分WHAT型问题,通常有标准答案;而相当多的 WHY型问题 是没有标准答案的(HOW型的问题介于两者之间)。

  所以,如果你想在某个领域做到比较深入,你一定要多探寻 WHY型 的问题。对这类问题的思考,要避免 COPY 别人现成的答案,要通独立思考得出自己的答案。这类问题思考多了,无形中就对该领域有更多更深入的了解。

★知识点

  想解决某个主题,一般要运用许多”知识点”。所以再来聊聊”知识点”这个话题

◇什么是”知识点”?

  所谓的”知识点”,通常表示某个有价值的信息。为啥俺特地强调”有价值”这个定语捏?因为世间的信息有千千万万,绝大部分都是没有价值,不能算是”知识点”。
  关于”知识”和”信息”的关系,有一个 DIKW 模型(Data Information Knowledge Wisdom),有兴趣的同学可以去看看。

◇知识点的类型

  知识点有很多种类型,常见的有如下几种:
有些知识点是概念性的,用来表示某种”定义”
有些知识点是指导性的,用来表示某种”方法”
有些知识点是陈述性的,用来表示某种”事实”

  第一类显然是很重要的。
  不论是哪个领域,基本的概念和定义总是很关键的(犹如建筑的地基)。如果你对这些东西的理解有误或有偏差,就如同是”浮沙之上筑高台”。

  第二类也很重要。
  俺非常喜欢一句老话叫做”授人以鱼不如授人以渔”。这话说的就是方法论的重要性。

  至于第三类,其实远远不如头两类重要。为了给大伙儿加深印象,说一个爱因斯坦的掌故。
  爱因斯坦刚移民到美国的时候,已经是全球性的名人,经常受到记者的围堵。有一次,某记者问他,音速的大小是多少?老爱回答不知道。记者表示很诧异。然后老爱说了一段话,其中两句是:
这些可以在书上查到的东西,我没有记在脑子里。……教育的价值在于训练思维,而不在于传授事实。
  后面这一句话说得尤其好(已经加入到俺博客副标题的动态格言中)。

  说到这里,俺顺便再抹黑一下天朝的教育。
  咱们党国的教育,本质上就是洗脑教育。洗脑教育最常用的手段就是”灌输”。知道啥是灌输不?简而言之就是:迫使你被动地、无条件地接受一堆”事实”。在灌输的过程中,学生唯一要做的就是动用”记忆力”,把老师所说的”事实”背下来。被长期灌输的学生,除了记忆力比较好,其它思维能力(比如:分析、推理、归纳、总结、联想、创造、等等)很少得到训练。
  说难听点,这种搞法让天朝的学校成为”批量生产脑残的流水线”。有些天真的同学会问:难道国家领导人不知道教育问题的严重性吗?其实捏,朝廷对于教育的弊端是乐观其成滴。在一个独裁的国家,愚民教育是惯用的手段。愚民的比例越高,统治越稳定。因为愚民们只知道被动接收各种信息,缺乏独立思考的习惯。所以,愚民们不会质疑朝廷的忽悠,自然也不可能反抗。
  很多人有一个误区,以为”洗脑”的关键是”欺骗”。其实不然。洗脑的关键是”扼杀思维能力”。只要把某个人的思维能力扼杀,之后爱怎么忽悠就怎么忽悠,把你玩得团团转。这才是洗脑的最高境界啊!所以,俺经常在博客中普及思维能力和心理素质,就是希望能够部分抵消洗脑教育的副作用。

◇如何应对”知识爆炸”?

  说完洗脑,再说说如何应对”知识爆炸”。这个词汇很多人都听说过。如今是信息时代,每个学科的知识总量都以非常快的速度膨胀。这对人的脑力是巨大的挑战。即便是在你主攻的一个非常细的细分领域,你也不可能记住所有的知识点。咋办?
  刚才列举了三类常见的知识点:描述概念、描述方法、描述事实。头两类的比例很低,但通常都很重要。所以这两类你需要记忆。第三类的比例很大(很可能占总量的 99% 以上),这时候你需要做一些取舍——只记住核心的知识点,舍弃边缘的知识点。
  肯定有同学会问:如何区分哪些是核心的,哪些是边缘的?这又是一个很大的话题,以后抽空单独写一篇介绍。
  还有的同学会问:不记住边缘的知识点,万一今后要用,咋办?
  其实很简单。如今的搜索引擎技术很发达,维基百科也很成熟,还有很多专业的文献检索工具。只要你善于利用计算机和互联网,可以到需要的时候再临时去查,不难查到。关于这方面的技巧,可以参考俺之前的系列博文《如何挖掘网络资源》。

★结尾

  今天杂七杂八说了一堆,希望能把俺的经验表达清楚。
  最后提醒一下列位看官,”知识结构”仅仅是个人能力的一小部分。对提升个人能力而言,完善知识结构只是必要条件,但不是充分条件。知识是需要运用的,不善于运用,再多的知识也如同垃圾。

俺博客上,和本文相关的帖子(需翻墙)
学习技术的三部曲:WHAT、HOW、WHY
用提问促进思维——再谈 WHAT HOW WHY 三部曲
如何挖掘网络资源

本文由自动聚合程序取自网络,内容和观点不代表数字时代立场

墙外新闻实时更新 欢迎订阅数字时代



2013年9月21日 上午 8:51
分类: 公民博客