作者:胡长城
——了其然,知其用,研其究,发其思
我大声的呼喊,希望更多的Java开发者明白“了其然,知其用,研其究,发其思”。我们不仅需要探索技术,更需要探索思想······
这算是《小议学习java的浮躁心态》http://www.csdn.net/develop/article/21/21764.shtm 的兄弟篇。原本是打算写其它的,写到后来,有了这样的一些感悟,整理了一下而成。
先说个发生在自己身上的事情吧:
2003的整个下半年的私人时间里更多是偏重workflow方面的理论和技术,却忽略了新知识的更新。偶然的机遇,却发觉MDA和AOP已经成长起来,而我却几乎一无所知。那几天一直在责问自己,“为什么我不知道呢”“为什么我没有关注呢”。
但是,当我花了一些时间看AOP的资料的时候,却忽然反问自己“我为什么要知道呢?”。对,我只需要简单了解,或者说,我只需要稍稍的了解这AOP可以解决什么问题。假如这个新生物不是我所急需的,或者说起所解决的问题不是我目前所碰到的问题,我为什么需要去花时间钻研呢?
接下来的几天,我放弃了对aop的进一步钻研。仅仅只是将这个概念和可以解决的问题留在了大脑中。看到了吧。这样,我就可以省下一些时间,更多的投入到我的workflow钻钻研中了。
因为这件事情,我考虑了几天。考虑为什么会出现这样情况,考虑如何解决这种问题。于此,便有个这篇感悟。
其实,多数有几年经验的java工程师,会在忽然的一瞬间感悟:自己对新知识反映变得越来越迟钝。蓦然回首,忽然会发觉短短的半年,又出现了很多新的概念,很多新的api。但是,更多的时候,我们不得不摇摇头——新知识太多了,我们学不完啊。
也许大家都想到了以前IT很希奇的状况:旧人比不过新人。(还好,这两年状况好多了)。虽然一方面是“精力”问题,但是对新事物的敏感度降低,我想也是一方面。
Java这一两年的发展,远比前几年要迅猛的多。不论信息流通量,还是知识广度,都较前几年要大。下面这张图示根据自己的一些接触和经验画的Java(J2EE)发展图。仅属于个人观点,难免有不妥之处。中间不包含J2ME方面的,我对J2ME的领域不熟悉。
[[The No.1 Picture.]]
假如把Java的发展比作一条流淌的大河,那么那些新知识(应用概念,技术标准等等),就象一条条汇流的旁支。大家都知道,在汇流的地方,总汇或多或少激起“急流”,激起“漩涡”,激起“波涛”。当然,汇流的越多,越频繁,反映也就越激烈。
那么我们如何能够比较良好的解决自己的Technology问题呢?这就是我这几天思考的核心问题。下面就说说得自己的一些看法:
其实,这也是对新知识一个把握度的问题,总的来说,分为四种层次:了其然,知其用,研其究,发其思。
了其然:对最近新出现的理念技术能够有所了解,简单知道其可以解决什么问题,分析一下是否最近自己所需要应用,或可被更好的利用。
知其用:知道如何应用这门新技术。简单的应用一般花费不少时间,但是想复杂的应用,需要耗费的时间和精力可就多了。假如把握不好,盲目的应用和学习,会浪费不少时间。
研其究:对新技术新理念研究其深层次的原理,框架,结构。
发其思:这是最难的一层,首先需要有研其究的基础,这本身就是一个高难度的事情。而研究之后,能够发散思维,扩充或本土化改造,则更是艰巨的事情。
[[The No.2 Picture.]]
所以,做好“了其然”对大多数java爱好者来说,是个很要害的问题。做好并不意味着了解的多。每个开发者首先需要对自己所从事的行业,爱好,领域有所分析。这样当理念或技术推陈出新后,能够很迅速的辨别出那些该被重点关注,那些该被一般关注,哪些应该被尝试使用,那些需要深层次的研究······也就是说,不能够“了其然”,怎能够“知其用”和“研其究”。
这样做的目的无非两个:
(1)保持自己对新知识新理念新技术的关注
(2)将有限的时间有效合理的利用,用治理学的角度叫做:资源合理分配。
说实在,真的很希望更多的java开发者能够达到“发其思”。中国的软件业需要更多的敢于“研其究”“发其思”的人才,需要更多坚持走在Technology道路上的研究人才。