`
studying_
  • 浏览: 165900 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

程序员的五种境界

阅读更多
《程序员》里,将程序员分为五种境界,分别如下:
    五流程序员比技术和工具
    四流程序员比整合和管理
    三流程序员比创意和设计
    二流程序员比沟通和性格
    一流程序员比态度和方法
    超级程序员比思想和素质

比来比去,我觉得我挺符合超级程序员的:)“程序只是语言的表达,而语言则是思想的淬炼。”我也经常跑到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那样的大师,这些人还要有广泛的爱好和广阔的胸襟,要有大视野。我常发现周围的一些人看不到那么员,他们会像我前面所讲的,练武练到一定程度,就上不去了,他们看不到山顶在哪。伟大的程序员要有伟大的胸怀,当然我指的不是那些窝在某个角落编出超强软件的人。我已经看到了山顶,希望自己能早日到达~


   转自:http://blog.csdn.net/sslaowan/archive/2007/02/15/1510798.aspx
分享到:
评论

相关推荐

    程序员十层境界(很经典)

    程序员十层境界里面概括了所有的情况 上到大哲学家 下到入门者 看看自己是哪一层把

    程序员的九重境界,你是第几重?

    程序员的九重境界,你是第几重?看看这位高手写的有关程序员的境界。从第一层到达最高层,你是第几层?请进来看看。程序员 java 境界 php SSH struts

    程序员的最高境界?

    最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手,那也都是无知者的自封

    程序员九重境界,看看你到了第几重!

    程序员九重境界,看看你到了第几重!程序员九重境界,看看你到了第几重!

    程序员10大境界.pdf

    程序员10大境界.pdf

    程序员的八重境界

    分析问题的方法决定了程序员的层次。自省的价值远大于你想象,所以勇敢面对,没有编码天赋并没有任何错。想清楚你擅长什么,并一路追寻,大胆地,这就够了。

    程序员10大境界7.pdf

    程序员10大境界7.pdf

    程序员的九重境界,看看自己的位置

    程序员的九重境界,看看你处在哪个位置上,好好加油!

    程序员分成几种不同的境界

    程序员分成几种不同的境界 从其中你能知道 程序员分几个阶段 告诉你每个程序员应该怎么做

    程序员的十层楼(十种境界)

    对于如何划分程序员的技术层级,不同公司或不同人会有不同的划分标准,下面的划分仅代表 个人的观点,如有不当之处,还请砸板砖予以纠正。

    程序员最高境界

    这是本人10年经验累积,学会了他你可以从横天下,取势明道学术,所向披靡,无所不能。

    程序员境界

    程序员的境界,帮助程序员快速成长

    剑法三套,程序员.的三境界.doc

    剑法三套,程序员.的三境界.doc剑法三套,程序员.的三境界.doc

    一个老程序员的经典概括

    vb程序员的三个境界:  (1)所有代码都只放在窗体文件中的,属于菜鸟级,他们只会从面板上拖控件,设置属性,然后再给事件编码  (2)工程中有bas模块的,属于中间级,他们已意识到有大量的代码是重复出现的,...

    程序员的八种境界,你在哪一境?

    主要介绍了程序员的八种境界,你在哪一境?本文同时探讨了为什么中国的程序员总被称为码农的原因,需要的朋友可以参考下

    程序员个性电脑桌面壁纸

    逆境使人成熟,绝境使人醒悟。苦到极点、痛到极点,心理的韧度和耐受力就一定会大大超越普通人。逆境是一个契机,使人进入新的更成熟、更有尊严的精神境界。

    编程之禅(程序员的哲学 )

    只有当程序员最终学会了将那种“自我自我的存在”的虚假感觉抛在一边,此种境界才可能达到,而那种“自我的存在”的感觉往往伴随在我们大多数人的生活之中。 这是计算机所带来的--禅师程序员的行为方式。 有人说,...

    程序员编写程序能力的四种境界

    程序员编写程序能力的四种境界!人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。在他这著名的一生的早期,他就指出我们的意识...

    高效能程序员的修炼:软件开发远不止是写代码那样简单,中文完整扫描版

    其中,“程序员的八种境界”、“程序员的《权利法案》”、“结交混世魔猴”等文章早已脍炙人口,在程序员圈子里广为流传。 《高效能程序员的修炼》的写作风格风趣幽默,且充满理解和关怀,适合从新手到老手的各个...

Global site tag (gtag.js) - Google Analytics