零雨其蒙's Blog

做优秀的程序员
随笔 - 59, 文章 - 13, 评论 - 58, 引用 - 0
数据加载中……

读《面试极短篇——境界》

《程序员》2007年2月刊,第135页有篇郭安定写的《面试极短篇——境界》,其中将程序员分为五种境界,分别如下:
    五流程序员比技术和工具
    四流程序员比整合和管理
    三流程序员比创意和设计
    二流程序员比沟通和性格
    一流程序员比态度和方法
    超级程序员比思想和素质

        比来比去,我觉得我挺符合超级程序员的:)“程序只是语言的表达,而语言则是思想的淬炼。”我也经常跑到CSDN、Blogjava还有其他的论坛去看程序员们的讨论,有时候看到一些什么“C语言就是无敌的”“Java就是骗人的”“Java是万能的”“使用汇编和DOS才是高手”之类的,真是觉得好笑,说这些话的,肯定都是刚刚入门的菜鸟,或者就是还没入门就知道些“江湖谣传”的外行。
        大多数人都愿意把编程比作修炼武功,以前看过一个帖子讲什么最高水平就是练成葵花宝典,文章写得很是不错。习武大抵也是这么几个境界,先是会一套掌法或一种兵器,有的人就永远停留在这一层次了,觉得七节鞭是世界上最厉害的武器或者什么拳是天下无敌的;然后大部分人融汇贯通,会了好几种掌法好几样兵器,并且觉得武林绝学都是相通的,慢慢不用师父教照着剑谱就能练出来。这时一部分也停了下来,觉得自己拥有了超强的自学能力,天下武功不过尔尔,他们以为武功就是招式(甚至是基本动作)的堆叠;然后又有一部分人开始发明新的套路掌法了,他们善于观察对手,以最少的动作解决战斗,稳准痕。一部分人到这对自己已经很满意了,他们发现自己可以在打斗中冷静度战,将对手的招式看的一清二楚,找准空档一招制胜,真是了得;但是有些人开始跳出武功,开始研究武功与书法,武功与音乐,武功与医学,互相借鉴,参悟至深。少部分又向前迈进一步,开始思考武功与生命、生活,尘世间的打打杀杀已经不能进入他们的法眼了。
         将编程比作修炼武功有正确之处也有不可取的地方。武功一定是一点点练出来的,只会使用一套刀法的人可能理解不了高人所讲的武器只是工具,拿刀拿枪只是工具不同而已。会使用好几种兵器但不精通的人理解这句话是最容易偏激的,高人所讲的武器只是工具是站在一个很高的层次上讲的,绝不是练会几样兵器那么简单,因为只是多会几样兵器的人可能只是在用使用刀的方法使用枪,用使用枪的感觉在使用剑。这种思想在很多人心中都有,以为会使用VB就会使用Delphi了,会使用Java了,实际上他们只是用VB的方法使用Delphi和Java。高手们也会说编程语言不过是工具,算法和数据结构是灵魂,或者业务需求和领域模型是灵魂,但是那种意味则完全不同,你明白我的意思了吗?另外一些人以为能用VB编程就是精通VB了,这一点也是和武功不太好比,因为精通VB的含义太复杂了。要了解Win32,了解计算机体系结构,了解算法和数据结构,这些可以说是练武人的内功,而对于VB而言,则要知道它是如何进行抽象的,理论和实践的相互作用的结果,比如VB是如何封装windows API的,VB是如何访问内存的,如何实现各种数据结构的等等。
        练武功不能跳级,编程也不能,我真的不懂不会编程的人怎么做设计,虽然在领域建模和设计建模时可以与程序无关,但是没编过程直接去领悟设计思想,是有点难。起码我没使用Delphi OO技术时无法理解Delphi面向对象规则,在编写大型J2EE项目之前无法理解《Core J2EE Pattern》在说什么,甚至于那样做有什么好处,在学习C++和编写大量产品级程序前我甚至看不太懂《设计模式》,没有认真思考过怎么设计能使耦合更小,复用性更强之前,我看不进去《重构》,而思考过后,发现很多重构方法顺理成章,甚至就是我平常所采用的做法。

        在看《AJAX in action》时,译者序中提到了软件工程与软件工艺,Martin Fowler这样的大师也都视编程为艺术。我喜欢从音乐中获得编程的灵感,从生活中发现软件工程的真谛。编程,是一个人思想的高度的体现。我时常都在思考这些问题,我原来觉得作为一个优秀的程序员(这是借用Fowler在《Refactoring》中对自己的说法,他说自己不是天才程序员,只是一个拥有良好编程习惯的优秀程序员,因此,这就成了我的奋斗目标),而非天才程序员(指的是像Rasmus Lerdorf那样的,不过后来看了他自己回忆创造PHP的过程,觉得他也是凡人一个),应该具备的素质包括超强的学习能力,和完整的计算机认识,但是最近我觉得,这些还不足以成为Fowler,BOB大叔,Rod Johnson那样的大师,这些人还要有广泛的爱好和广阔的胸襟,要有大视野。我常发现周围的一些人看不到那么员,他们会像我前面所讲的,练武练到一定程度,就上不去了,他们看不到山顶在哪。伟大的程序员要有伟大的胸怀,当然我指的不是那些窝在某个角落编出超强软件的人。我已经看到了山顶,希望自己能早日到达~

posted on 2007-02-15 21:36 零雨其蒙 阅读(366) 评论(1)  编辑  收藏 所属分类: 程序生活

评论

# re: 读《面试极短篇——境界》  回复  更多评论   

他的文章读起来总是很有味道, 我也常常看
2007-02-18 03:41 | pplive

只有注册用户登录后才能发表评论。


网站导航: