[转载] 程序员的四个境界 (0分)

  • 主题发起人 主题发起人 creation-zy
  • 开始时间 开始时间
C

creation-zy

Unregistered / Unconfirmed
GUEST, unregistred user!
程序员的四个境界
作者:雷年胜
国学大师王国维先生认为古今成大事业、大学问者,必经过三种境界,第一种境界:“
昨夜西风凋碧树。独上高楼,望尽天涯路”;第二种境界:“衣带渐宽终不悔,为伊消得
人憔悴”,第三种境界:“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”。一代宗师
真是体察入微,寥寥数语,道尽了求道者的心路历程,将一个人由浅尝、迷茫到彻悟的过程
尽数概括,可谓入木三分。
IT行业可谓现在的热门行业,程序员也是很多人羡慕的工作。薪水高,不用东跑西颠,
敲敲键盘,看看屏幕,一切工作全都搞定,轻松而方便。果真如此吗?不尽然,实际上,程
序员的职业生涯也是一个求道的过程,需要不断的提高和学习,IT行业知识更新之快,常让
程序员们有随时掉队的危险,无一日不战战兢兢,不敢稍有懈怠。
程序员的职业生涯也可分为四个阶段,初级程序员(菜鸟)、高级程序员(熟练工)、系统
程序员(高手)、软件大师(大师),其作品也经历四种境界:
· 可以运行的程序
· 健壮、高效的程序
· 结构优美的程序
· 思想深邃的程序
程序员的必经第一个阶段都是编写可以运行的程序。很多人的编程生涯是从“Hello
World”开始,当第一次按照教科书上的步骤,将源文件编辑完后,编译、连接、运行,在
屏幕上显示出“Hello World”时,心中的激动一点也不亚于阿里巴巴打开了宝库的大门。
初级程序员的目标一般是让程序能运行起来,他们迷惑于库函数的众多,不知道该用哪一
个,他们还要学习基本的语法,以使程序编译通过。初级程序员一般不会考虑设计模式、软
件结构等问题。记得本人编写的第一个较大的程序是本人的本科毕业论文题目——一个计算
机辅助实验系统,开发工具为Turbo C,在DOS下开发(那个时候Windows还不太流行,怎么
样,年代够久远吧),整个软件大约7000行代码,在当时已经能干不少事,在DOS下也能显示
不少花里胡哨的图形界面,支持中文,支持鼠标操作(那时候在DOS下需要自己处理鼠标事件
中断),当时还颇受好评。可是今天再重新温习过去的作品,真有点掺不忍睹,整个软件毫
无结构可言,一共分成两个源文件还是由于编译器不支持一个太大的源文件而被迫分开,整
个系统就是源代码的简单堆砌。相信每个程序员都需要经历这个阶段,它是程序员职业生涯
的开始,没有捷径可以跨越,只有不断的实践、学习和总结。
第二阶段的程序员已积累了不少的编程经验,语法和库函数不再是障碍,他们已不再满
足于程序正确运行、功能实现无误。他们需要了解程序背后发生的事情,需要了解操作系统
的原理和调度机制,内存管理,文件系统组织等;了解开发工具的细节,如C的函数调用机
制,参数的传送机制、堆栈的建立过程等;了解C++的封装、继承和多态性背后的机制,虚
函数实现机理等。他们不仅知道程序应该如何运行,还知道它为什么这样运行,能编写高
效、鲁棒的程序。
第三阶段的程序员能构建结构优美的软件系统,软件系统结构的合理性、可扩展性、可
维护性、可测试性是系统程序员考虑的重点,结构优美的软件系统同一栋完美的建筑群一
样,每个部分各司其职,搭配合理。本人一直认为,一个好的软件系统应当具有美学特征,
如简洁、和谐、层次感等,一个好的软件系统应当是简洁的,易于理解的;应当是和谐的,
每个部分高内聚、低耦合,既分工又合作;应当是层次分明,易于维护和移植。所以,本人
建议那些进行软件系统设计的程序员,当你设计完一个系统后,需要问问自己:"它美
吗?",如果答案是否定的,那么我建议你需要重新考虑系统的设计,如果答案是肯定的,
那么,恭喜你,你已经达到一个相当高的水平。
最后一级也许是每个程序员梦想达到的顶峰,程序设计不再是简单的工具,而是大师们
改变世界的魔杖,从C到C++,再到COM和COBRA,再到XML和WEB SERVICES,每次改变,不是
软件语法和开发工具的升级,而是用软件构建现实世界模型的改变,是一种软件思想的革
命,软件具有了灵魂和智能。如果没有理解这一点,认为C++只是更好的C,COM只是更好的
C++话,你就没有了解它们的精髓和思想性。
“程序员之路漫漫兮,吾将上下而求索”,希望与所有的程序员共勉。
 
学无止境啊!
 
作为女生,我能作好第二层就好了![:)][:)][:)][:)]
 
第三层是我的短期目标,
第四层是长期目标
 
最好不要做专业程序员非常的辛苦啦。好在我是业余的。
 
做专业的程序员也未尝不可啊,我们现在很好玩的
一天改了代码就上网,上了网再来改代码!  呵呵
 
说得不错!
 
学进之后一日千里,
 
永不停息!
收藏!!!
 
不錯,
优美的與深邃的
一直是我們無論做什麼事所要追求的。
 
無聊。有飯吃就行啦。境界再就也是綮話。
 
我在第一层,向第二层发展,最高是第三层,因为不到第四层我就要改行了
 
也许现在我算是候补第三层
不过感觉没有什么意思
真的
 
呜呼,世间竟有此境界,大家如有牢骚,请看此贴,
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2132220
 
很想问一下,
有几个人能在到第四层前不改行的
 
我感觉写程序就象悟道,就是三层境界。
见山是山,见水是水 (大多数堆砌API的人)
见山不是山,见水不是水 (他人眼中的精英)
见山还是山,见水还是水。(??????)
 
我的层次:
· 可以运行的程序
 
我在第二层,向第三层发展
 
第四层中所谓的“思想的革命”无非是让电脑能够以更接近人脑的方式来运作——因此,
只要我们能够深入的理解自己的思维方式,那么就可以“以不变应万变”——就这么回事。

to realLearning:
非常赞同您提到的三层境界,不过我有另一种解释:
见山是山,见水是水
——看到什么就是什么,一切都是具体的,没有进行抽象
见山不是山,见水不是水
——看到的虽然是具体的,但是在脑海中的东西都是抽象的了,已经完全融汇贯通
见山还是山,见水还是水
——已经从 具体-具体、具体-抽象 达到了 具体-抽象-具体 的境界
——于一切法门都加以了知,而又不执著于任何法门;心随意转,运用无碍
 
我追求的就是第一层,我从来不奢望能到第二层。
今天下午给一家酒店作演示。//PDA的版本
我的希望就是不要出错。
 
后退
顶部