像程序员一样思考——程序员的四个境界

        随着软件技术不断发展,从事软件行业的人员日渐增多。你发现身边多了这么一群人,他们有的西装革履,有的穿着随意,有的不苟言笑,有的幽默风趣,有的博学多才,有的质朴木讷,唯一的共同点事,他们的名片上都印着“程序员”这样的字。

       

       现在大街上所谓的“程序员”是如此之多,他们中有真正的高手,也有只会写几行蹩脚代码的滥竽充数者。

    
    程序员是怎样炼成的?
    
    一些人认为,掌握一门计算机语言,会编写几行代码并且能够让这些代码在计算机上运行起来的人,就可以成为程序员。事实上,软件行业里,要成为真正意义上的程序员,对得起programmer这个称号,还是要花费一番功夫的。


    在成为程序员的道路上,要经历四个坎坷,我们可以用四个境界来标明他们。
 
    第一境界:掌握一门或者几门编程语言,会模仿例子来实现程序代码,并且让代码在计算机系统中运行起来。这个境界人不能算是真正意义上的程序员,而仅仅是掌握了一种或者几种工具的工匠,他们中的熟练者能过快速模仿现成的例子,以实现自己或者用户需要的软件模块。
 
    非常遗憾,许多“程序员”仅仅达到第一个境界,他们根据手中的文档和参考资料,通过“模仿”来完成工作,他们实现的程序只是无数个前人已经实现过的代码的翻版组合,虽然其中的熟练者以快速高效率完成任务著称,然而他们的作品中毫无新意,日复一日地重复代码,罕有任何可以称之为“创新”的东西。


   第一个境界的特质是对语言工具的掌握,在这个境界的高手,会强调自己对语言如何如何熟练,因此可称这个境界为——“知器”。


   第二个境界,我们要学习的是分解问题和推理的技巧,学会用逻辑的语言来精确地表达一个命题。在这个境界里,软件工作者掌握的是一种分析具体事物的方法,不再一味地模仿,而是开始对一个又一个具体问题进行思考并尝试用自己的方法来更好地解决。在这个层次,开始关注解决问题的思路,并且关注分析和推理的数字技巧,他们中的优秀者熟知各种算法善用各种各样的命题推理来分析并解决问题,他们同样善于借鉴前人的例子,但是往往能够根据问题的特点进行有效的改进,并且能够在尝试改进的过程中得到创新的成就感和新的经验。对语言工具的认识比第一境界更加深刻,他们是真正知道如何利用手中语言工具的特点更好地解决问题的人。但不会强调自己对于语言如何熟悉,也不再热衷于宣扬掌握如何如何多的语言,在他们眼里,语言仅仅是一种工具而已,真正重要的是分析问题的方法。


    这个境界追求的是对具体问题的分析,在这个境界的高手,往往善于从具体问题中分析出合理有效的解决方法。称这个境界为——“格物”。
   
    第三个境界里,我们要学习的是抽象思维和找出事务表象后面的规律。在这个境界里,软件工作者不再针对一件一件具体的事务来分析,而是尝试理解事务表象下的本质。开始关注事务的共性,并且逐渐掌握归纳和总结的方法。“模式”开始出现在他们的头脑里。学会灵活运用模式和抽象思维来解决“某一类”问题,与表象相比,他们更关注的事物的本质,他们的代码里充满思想和对事物规律的深刻认识,他们熟知各种类型问题的特点和解决技巧。对事物本质规律的认识使他们不再依赖于语言工具,任何一种熟悉或者陌生的程序设计语言在他们的手中都能够发挥到极致,完美地解决问题。


    可以称第三个境界为——“明理”。这个境界里的程序员真正当得起Programmer称号,他们在外人眼里看起来是天生的设计师,艺术家和技术牛人。


    第三个境界程序员中的极优秀者,并不满足专家的地位和高新,他们开始向第四个境界艰难地前进。第四个境界是程序设计领域的最高境界,要达到这个境界,只需掌握一样东西,然而这个东西并不是寻常之物,而是许多人穷其一生都无法得到的,这个世界最为深邃的秘密。


    自古以来,有这样一群僧人,他们遵守戒律,整日诵经念佛,而与其他和尚不同的是,他们往往几十年坐着不动,甚至有的鞭打折磨自己的身体,痛苦不堪却依然故我;有这么一群武者,经过多年磨练,武艺登峰造极,但依然努力练习,坚持不辍;有这么一群读书人,他们学富五车,甚至功成名就,却依然日夜苦读,不论寒暑。为何如此?只是在寻找一样东西。传说这个世界上存在着一种神奇的东西,它无影无形,却无处不在轻若无物又重如泰山。如何能够获知这样东西,就能了解这个世界上的所有奥秘,看透所有伪装,通晓古今中外,掌握世间万物。这样的东西。叫做“道”。


    何为道?是天下所有 规律的总和,是最根本的法则,掌握“道”的程序员,才是真正的程序设计大师,能够创作出流芳百世的作品。


    对于第四境界的程序员来说,“思想”已经不再是很重要的东西,因为他们对程序本质的理解已经超越了问题本身,在他们的代码里,有的只是自然,现实和虚幻的边界都已经模糊,一个完美自治的系统在刹那间诞生,却房屋从更鼓时刻其便存在着,运行着,从简单而质朴的规律中涵盖着时间万物的本质。这个境界称之为“成道”。


                                                                                                                      ——以上内容摘自《JavaScript王者归来》




你可能感兴趣的:(像程序员一样思考——程序员的四个境界)