像程序员一样思考

程序员成长的三个境界与第四境界:从工匠到大师的蜕变
本文深入探讨了程序员成长的三个阶段:掌握编程语言的工匠级、分析问题并使用逻辑解决问题的中级程序员、理解和抽象事物本质的高级程序员,以及最终追求更高境界的‘悟道’,实现程序设计艺术的真正大师。文章旨在激励程序员不断进步,跳出常规,追求更高的目标。
 第一境界,就是掌握一门或者几门编程语言,会模仿例子来实现程序代码,并且让代码在计算机系统中运行起来。达到这个境界人,还不算真正意义上的程序员,而仅仅是掌握了一种或者几种工具的工匠,他们中的熟练者能快速模仿现成的例子,以实现自己或者用户需要的软件模块。
  (非常遗憾,许多程序员仅仅达到第一个境界,他们根据手中的文档和参考资料,通过模仿来完成工作,他们实现的程序只是无数个前任已经实现过的代码的翻版组合,虽然其中的熟练者以快速高效率完成任务著称,然而他们的作品中毫无新意,日复一日的重复代码,罕有任何可以称之为“创新”的东西)
  第一境界的特质是对语言工具的掌握,在这个境界的高手会强调自己对语言如何熟练,因此这个境界可以用“知器”来表示
  第二境界里,我们要学习的是分解问题和推理的技巧,学会用逻辑的语言精确地表达一个命题。这个境界里,软件工作者掌握的是一种分析具体事物的方法,他们不再一味的模仿,而是开始对一个又一个具体问题进行思考并且尝试用自己的方法来更好的解决问题
  这个层次的“程序员”开始关注解决问题的思路,并且关注分析和推理的数学技巧,他们中的优秀者熟知各种算法善用各种各样的命题推理来分析并且解决问题,他们同样善于借鉴前人的例子,但是往往能够根据问题的特点进行有效的改进,并且能够在尝试改进的过程中得到创新的成绩感和新的经验。
  在这个层次里面的人,对语言工具的认识比第一境界更加深刻,他们真正知道如何利用手中语言工具的特点更好的解决问题的人。但是他们并不会强调自己对于语言如何熟悉,也不再热衷于宣扬掌握如何多的语言,在他们眼里,语言仅仅只是一种工具而已,真正重要的是分析问题的方法。
  第二境界的特质是对具体问题的分析,在这个境界的高手,往往善于从具体问题问题中分析出合理有效的解决方法,因此这个境界用“格物”来表示
  (第二境界里有真正对如何用程序来解决问题经验丰富的人,这些人能够出色的胜任编码工作,因此我们称为Coder,或者初级程序)
  第三境界里,我们要学习的是抽象思维和找出事情表象后面的规律,在这个境界里,软件工作者不再针对一件一件具体的事物来分析,而是尝试理解事物表象下的本质,在这个层次里面的人,开始关注事情的共性,并且逐渐掌握归纳和总结的方法,“模式”开始在他们头脑里。
  (“设计模式是软件领域的三十六计,是进过总结而归纳出来出来的真正的思想精华,第三个境界的软件工作者开始接触并且理解“模式”,学会灵活运用模式和抽象思维来解决“某一类”问题与表象相比,他们更关注事情的本质,他们的代码里充满了思想和对事物规律的深刻认识,他们熟知各种类型问题的特点和解决技巧,对于事物的本质规律的认识使得他们不再依赖于语言工具,任何一种熟悉或者陌生的程序设计语言在他们的手中都能够发挥到极致,完美的解决问题”).
  第三境界的特质是对事物本质规律的认识,在这个境界的高手,往往能够快速的抽象出问题的本质,从而用最合适的方法来解决问题,这个境界我用"明理"来表示。
  达到第三境界的程序员,是天生的设计师,他们对问题本质的领悟能力帮助他们用最优美简洁的代码来解决问题,他们的代码中充满了设计思想,他们是真正能享受到程序设计的艺术魅力并且充满成绩感的一群人。
  第三境界的程序员真正当得起Programmer称号,他们在外人眼里看起来是天生的设计师,艺术家和技术牛人,他们是为软件而生的。
  前面说到了三个境界,层层深入,并且第三个境界的程序员已经当之无愧的成为软件领域的专家领袖,然而程序员是否只有以上三个境界呢?当然不是,
  还有第四境界
  第三境界程序员中的极优秀者,并不满足于专家的地位和高薪,他们开始向第四境界艰难的前进。第四境界是程序设计领域的最高境界,要达到这个境界,只需要掌握一样东西。然而这个东西并不是寻常之物,很多人穷极一生也无法得到,这就是这个世界最为深邃的秘密:这就是“道”。
  所谓道,是天下所有规律的总和,是最根本的法则,只要能够了解道,就可以明了世间所有一切,掌握了“道”的程序员才是真正的程序设计大师,能够创造出流芳百世的作品、
  然而怎么样才能“悟道”,我并不知道,也无法描述,因为“道”识字啊不是一个能够轻易得到和理解的东西。

  对于第四境界的程序员来说,"思想"已经不再是那么重要的东西了,因为他们对程序本质的理解已经超越了问题的本身,在他们的代码里,有的只是自然,实现和虚幻的边界已经很模糊,一个完美自治的系统在刹那间诞生,却仿佛从亘古时刻起来、便存在着,运动者,从简单而质朴的规律中涵盖了世间万物的本质,因此,这个境界,就是"成道".

文章摘自:JavaScript王者归来

此文章警示自己要一步一步的成长,不能以为自己有点能力就止步不前,其实自己连初级程序员都算不上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值