程序员的境界
? ? 近日,本来打算随便翻翻《javascript王者归来》,结果在作者给程序员分了4个境界,看后令我茅塞顿开、醍醐灌顶。内容如是说:
? ? 第一境界:知器,就是前面所说的,掌握一门或者几门编程语言,会模仿例子来实现程序代码,并且让代码在计算机系统中运行起来。达到这个境界人,还不能算是真正意义上的程序员,而仅仅是掌握了一种或者几种工具的工匠,他们中的熟练者能够快速模仿现成的例子,以实现自己或者用户需要的软件模块。
? ? 第二境界:格物,我们要学习的是分解问题和推理的技巧,学会用逻辑的语言来精确地表达一个命题。在这个境界里,软件工作者掌握的是一种分析具体事物的方法,他们不再一味地模仿,而是开始对一个又一个具体问题思考并尝试用自己的方法来更好地解决。
?
? ??在这个层次里的“程序员”开始关注解决问题的思路,并且关注分析和推理的数学技巧,他们中的优秀者熟知各种算法善用各种各样的命题推理来分析并解决问题。他们同样善于借鉴前人的例子,但是往往能够根据问题的特点进行有效的改进,并且能够在尝试改进的过程中得到创新的成就感和新的经验。在这个层次里的人,对语言工具的认识比第一境界更加深刻,他们是真正知道如何利用手中语言工具的特点更好地解决问题的人。但是他们并不会强调自己对于语言如何熟悉,也不再热衷于宣扬掌握如何如何多的语言,在他们眼里,语言仅仅是一种工具而已,真正重要的是分析问题的方法。
? ??第二境界的特质是对具体问题的分析,在这个境界的高手,往往善于从具体问题中分析出合理有效的解决方法。因此这个境界用“格物”来表示。
? ? ?附言?