高手有两种.
一种是黑客型.他并不一定是黑客,但他的知识结构和学习方法与黑客相似.他可以不吃不睡地呆在机器上,他可能没什么系统的理论基础,也不需要.他有的是无边无岸的热情和迷恋.当专家说这个问题无法解决时,他的激情就来了.他开始不吃不睡,直到问题解决(其实还是解决不了的时候多).问他是怎么解决的,他自己也说不清楚.总之是解决了.他有的是KNOWHOW,对于KNOWWHY他没有兴趣.他喜欢C/C++甚至是ASM.他擅长对系统细节的研究.他能把一个很好的软件解密,但让他自己做一个这样的软件,他连想都不敢想.把他送到月球上待一年,回来后,他发现他根本不懂计算机了.因为他的方法他的知识都已经过时.于是他又开始不吃不睡,可是他感觉到有些力不从心,因为激情已经耗尽.80年代有个王晓君,此类高手的代表.
另一种是知识型.
他有雄厚的基础理论知识,并乐于继续积累.对那些时髦的东西,他并不表现出太大的兴趣,瞄上一眼就丢在一边.他没搞过数据库,可需要的时候,他迅速成为高手.因为他本来就对数据库有深刻的理解,当然是理论上而非实践上.要做驱动,他很快超过做了很多年的人.因为他准确理解计算机原理,电子技术也没有白学.有种说法认为程序员是吃青春饭的,对这种高手不适用.

什么样的人是低手,而且可能永远是低手???
在上学的十几年时间里,他逐渐养成了为考试而学习的良好习惯.对于那些公式和符号的真实含义变得麻木不仁.他学过付里叶变换,可他不知道那是干什么用的.如果能够,他也决不会选小波分析.他学过电子技术,考完试后他觉得如释重负,毕竟考得不错,以后在也不用理这可恶的东东.他最愿意学的可能是VB.随便一组合就是一道程序,使他觉得成为高手原来这么容易.
工作后(具体的技术工作),他可能发现,成为真正高手的充要条件是深厚而宽广的理论基础.唯此才能对问题有深刻理解,才能设计出合理高效的解决方案.他想重学一遍高数,可还要泡妞.资源严重不足.于是他合理调配,走上层路线,越来越依赖VB,他可以成为专家,集成的专家.然后搞管理.然后在年轻人面前表现的莫测高深,同时对具体问题尽量回避.做高层的管理.做高手的管理当然是更高的高手.
有一类人,cmm热的时候,成天讲印度,把项目管理说的天花乱坠,却对编码不屑一顾,认为只要高中生就可以了。

有一类人,成天追捧新技术,天天比较java vs .net,vb vs delphi, delphi vs vc...

有一类人,喜欢玩高深,认为vb远远不如会vc来的更酷,更有人用asm来做界面,引来一大堆崇拜者。

有一类人,也喜欢玩“冷门”,在大家都还做windows程序的时候,他跑去做linux程序员,天天叫嚷windows比linux性能差。

见过一个,只会c,只会做网络协议之类的,讲起网络来头头是道,而且丝毫不以不懂其他东西为“短”。其实,编程水平还不如他嘴皮子功夫强。

见过一个,号称做过好多东西,碰到问题都说问题不大。其实,尽管是小问题,可也没解决得了。

见过一个,做了好多年,说,其实我不喜欢做程序员...伤感。