转载地址:http://blog.csdn.net/u012410733/article/details/69180168
学习技术的三部曲:WHAT HOW WHY
我把学习归类为三个步骤:What、How、Why。经过我对周围同事和朋友的观察,大部分感觉自己技术没有提高的人,都仅仅停留在What阶段。下面我把这三个步骤解释一下。
1、第一步:WHAT
所谓的“WHAT”,就是搞清楚某个东东是什么?有什么用?有什么语法?有什么功能特性?……
举例如下:
对于学习语言(比如C++、Java、Python),大部分人都能够掌握基本的语法和标准库,然后用它写一些小程序(诸如二分查找、冒泡排序、简单文件操作等)。
对于学习类库(比如JDBC类库),大部分Java程序员都能明白JDBC主要包含哪些类,也能够用JDBC进行简单的数据库查询和增删改操作。
由于这个步骤是最基本的,假如你连这都做不到(可能你的理解力不够好),也别在IT界混了。但是光会What是不够的。仅仅停留在这个步骤,导致了很多程序员只知其然,不知其所以然。这就是目前大部分开发人员的现状。
2、第二步:HOW
所谓的“HOW”,就是搞清楚某个东西内部是如何运作的?实现机制如何?等一系列相关问题。
举例如下:
假如你在学习Java语言,你是否搞清楚GC如何实现?反射是如何实现?……
在这个阶段,你必须多想想类似这些问题。然后通过各种途径(参见“关于自学能力”的几个方法),把问题彻底搞清楚。自然而然,你的提高就会比较明显。而且如果碰到一些深层次的问题(比如性能优化),也就知道该如何去解决。
完成这个阶段之后,你基本上就属于该技术领域最优秀的20%的人(根据二八原理,80%的人不会去思考HOW的问题)。
3、第三步:WHY
一般来说,只有你把HOW的问题想清楚,才开始考虑步骤WHY。
所谓的“WHY”,就是搞清楚某个东西为什么设计成这样?为什么不是另外的样子?这样的设计有什么讲究?
举例如下:
对于C++语言:为什么C++没有类似Java的finally关键字?为什么C++当初没有考虑GC?……
对于python语言:为什么Python不提供类似C++/Java的访问控制机制?……
如果你能够自己问出诸如上述的“为什么”问题,并且能够通过各种途径找到解答,那你基本上已经吃透这个技术了,并且你已经有可能自己去设计一个类似的玩意儿了。到这时,你已经踏上了通向技术高手的康庄大道。
由于本博客偏重IT方面,所以今天举的这些例子多半都是IT相关的,但是这个三部曲在IT以外的行业/领域其实也能适用,就看读者自己的领悟了。
用提问来促进思维——再谈 WHAT HOW WHY 三部曲
俺今天来聊一下,如何用提问的方式促进深度思考。
4、认知的过程
稍微了解”认知心理学”的网友应该知道:我们对某个事物的认识,总是”由浅到深”。虽然同样是由浅到深,但每个人思考的深度却千差万别。不幸的是,大多数人在看待某个东西(事物、问题、现象)的时候,都仅仅停留在浅层次。
为啥会这样捏?一个很重要的原因就是:大多数人不善于提问。
说到这儿,俺又要第 N 次抨击天朝的教育制度了。在天朝的中小学教育中,根本就没有教会学生,该如何提问、该如何质疑、该如何反思。
5、WHAT HOW WHY 的步骤
俺已经写过一篇博文《学习技术的三部曲:WHAT HOW WHY》,主要是介绍三部曲在技术领域(理工科)的应用。考虑到俺博客的读者中,有越来越多的人不是IT行业。所以,俺今天侧重介绍一下,这个三部曲在社会科学(文科)方面的应用。
5.1、WHAT
当我们开始了解某个事物的时候,总是先从 WHAT 类型的问题开始入手。而所谓的”WHAT”也就是”What is it?”
在这个层面,你首先要了解的,就是某个事物所涉及的:时间、地点、当事人以及该事件的大致经过。要了解这些,其实比较容易——通过跟别人交流,或阅读各类媒体(网络、电视、报刊),就可以对某个事物有一个初步的、肤浅的、表面的认识。
在《为啥俺不常用微博——兼谈时间管理心得》一文,俺提到微博传递的信息过于肤浅——意思就是说,(大部分)微博传递的信息仅仅停留在 WHAT 层面。
5.2、HOW
所谓的”HOW”就是”How to do?”。
因为本文侧重讲社会学领域的话题。而社会学领域,”人”往往是关键因素。所以,你首先要思考的就是:当事人是如何参与某个事件的?(此处所说的”当事人”,可以是某个具体的人,也可以是某个群体)
当然啦,很多事物的发展,除了有”当事人”的因素,还有其它一些因素(比如:文化因素、法律因素、经济因素、科技因素等等)。所以,你还要问:除了当事人,其它因素是如何起作用的?
最后,你还要继续问:在各种因素的作用下,事件是如何一步步发展的?该事件内部是如何运作的?……
和 WHAT 层次不同的是,HOW 层次光靠记忆力是远远不够滴。你还需要具备一定的分析推理能力,还需要懂得查阅相关资料,才能搞明白上述 HOW 类型的问题。
5.3 WHY
当你能够比较透彻地厘清 HOW 层面的各类问题,就可以开始思考 WHY 类型的问题了。
所谓的 WHY 类型问题,俺举几个简单的例子:
- 某个当事人为什么会这么干而不是那么干
- 为什么是这个因素起作用而不是那个因素起作用
- 事件为什么会朝着这个方向发展而不是朝着另外的方向发展
- ……
WHY 类型的问题有个特点:这类问题很发散且数量很多。因此,对于某个具体的事物,总可以提出几十个(甚至上百个) WHY 类型的问题。在这么多个问题中,只有少数几个是切中要害的。所谓”切中要害”的问题,就是那些会把你引向该事物本质的问题。
肯定有人要问,如何才能直接提出切中要害的问题?老实说,这没有捷径。只有经常思考的人,才能逐渐掌握这种”直接命中要害”的思维能力。
一旦提出 WHY 问题,接下来自然就是寻找答案。
显然,WHY 类型的问题比 HOW 类型的问题更难回答——在回答 WHY 类型问题的过程中,你不但需要动用分析、推理、归纳、总结等各种思维能力,可能还要运用到跨领域、跨学科的知识。但是收获也是很大的。一旦把这些 WHY 类型的问题想明白,你就对整个事件有一个既宏观又深刻的认识。
能达到这个境界,看问题通常会比较深刻。可惜这样的人比例太低了 。
6、WHY 之后可以做啥?
可能有人会问:达到 WHY 境界之后,又该如何?所以俺补充了这一小节。
当你经历了 WHY 层次之后,你可以回过头,再用 WHAT 方式重新审视这个事物。这时候看到的信息同你一开始用 WHAT 方式看到的信息,已经迥然不同了。因为你一开始看到的是表象,而现在你已经能看到本质。
如果你愿意的话,你还可以开始思考解决之道。说到”如何解决问题”,这又是另一个很大的领域,已经超出本文的范畴——本文讲的是”如何认知”。要想学习”如何解决”,强烈建议大伙儿看一下《你的灯亮着吗?——找到问题的真正所在》,非常经典!