程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工做,这都不是真正的高手境界。即便是这样的高手,那也都是无知者的自封。php
我认为,一个程序员的成长可分为以下六个阶段。程序员
Ø 第一阶段
此阶段主要是能熟练地使用某种语言。这就至关于练武中的套路和架式这些表面的东西。编程
Ø 第二阶段
此阶段能精通基于某种平台的接口(例如咱们如今经常使用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就至关于能够进行真实散打对练了,能够真正地在实践中作些应用。函数
Ø 第三阶段
此阶段能深刻地了解某个平台系统的底层,已经具备了初级的内功的能力,也就是“手中有剑,心中无剑”。工具
Ø 第四阶级
此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就能够说是进入了高层次。这时进入了高级内功的修炼。好比能进行VxD或操做系统的内核的修改。学习
这时已经再也不有语言的束缚,语言只是一种工具,即便要用本身不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,彻底不像是第一阶段的时候学习语言的那种状况。通常来讲,从第三阶段过渡到第四阶段是比较困难的。为何会难呢?这就是由于不少人的思想转变不过来。操作系统
Ø 第五阶级
此阶段就已经再也不局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。能够说是“手中无剑,心中有剑”。到了这个阶段之后,能对市面上的任何软件进行剖析,并能按本身的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也必定会设计出来。.net
Ø 第六阶级
此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。设计
此时,对于练功的人来讲,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,Win 32或Linux在你眼里是没有什么差异的。接口
每个阶段再向上发展时都要按必定的方法。第1、第二个阶段经过自学就能够完成,只要多用心去研究,耐心地去学习。
要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例若有一个高手带领或公司里有一个好的练手环境。通过2、三年的积累就能达到第三个阶段。可是,有些人到达第三个阶段后,经常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为本身已无所不能。其实,这时若是遇到大的或难些的软件,他们每每仍是无从下手。
如今咱们国家大部分程序员都是在第2、三级之间。他们大多都是经过自学成才的,不过这样的程序员通常在软件公司也能独当一面,完成一些软件的模块。
可是,也还有一大堆处在第一阶段的程序员,他们通常就能玩玩VB,作程序时,去找一堆控件集成一个软件。
如今一种流行的说法是,中国软件人才如今是一个橄榄型的人才结构,有大量的中等水平的程序员,而初级和高级程序员比较少。而我认为,如今中国绝大多数都是初级的程序员,中级程序员不多,高级的就更少了。因此,如今的人才结构是“方塔”形,这是一种断层的不良结构。而真正成熟的软件人才结构应该是平滑的三角形结构。这样,初级、中级、高级程序员才能充分地各施所长。
本文摘自: 智趣网-C语言/C++语言编程技术交流论坛(http://www.bczh.net) 详细出处请参考:http://www.bczh.net/forum.php?mod=viewthread&tid=1317&extra=