以下纯属个人观点,如有冒犯请包涵。
其实发现把IT从业者想象成一名武林高手十分贴切。现年头IT培训随处即是,门槛也越来越低,甚至连初中生都可以报零基础J2EE工程师班,当然,这些琳琅满目的培训机构培训来培训去的始终都是应用层的东西,什么J2SE啊,SSH啊,AJax啊,.NET啊,从来没见过哪个培训机构有教授算法的,教授体系结构的,从来没有!这就好比什么呢,就好像在那个一直都存在着的江湖中,有那么一群人,会一些花拳绣腿的三脚猫功夫,会一些杂耍的一十八班武器,他们或在大街上舞刀卖艺,或在镖局里押着一批又一批的镖,或在朝廷里当警卫,然而他们会真功夫吗?不会!打这么个比方是十分合适的,像Java、C++、C这些语言,它们就好像是刀、枪、剑这些十八般武器,毫无疑问学好了是大有裨益的,甚至如果你什么武器都不会在这个风急云涌的江湖也是混不下去的,而且每种武器都有每种武器的特点和优势,像操作系统层的编码我们会选择C、C++而不会是Java,像应用层、服务器层的开发我们会选择面向对象含量较高的Java和C#而不会是汇编,每种武器都有它趁手的地方,甚至都有它无可取代的一面,用得好你可以称霸武林唯我独尊,用得不好你就是一江湖小混混。而什么SSH啦,什么J2ME、.NET啦,都是一些防身用的装备,有了它们我们可以更方面更心无旁骛地驰骋江湖!
然后,想想看,如果你丹田空空如也,七经八脉晦涩不畅,你能提得起剑舞得起刀么,你能穿上那么重的装备驰骋战场吗?不能!没有深厚的内功这些你都不能做到,没有深厚的内功你的武器和装备都不能发挥到极致的威力!你看那些少林高僧,你看那些达摩祖师,你看那些修真道长,人家会剑吗,会枪吗?人家不会,但人家照样可以把你轻易打倒,人家照样做他的武林盟主泰山北斗,而且即便人家什么时候需要了,那也是简简单单地法御万物而已!一把生了锈的铁剑落到他们手里也可以成为绝世神兵!
那么,内功是什么,记住了,它们是数据结构、算法、数据库、计算机组成、编译原理、操作系统原理、计算机体系结构、计算机网络、离散数学乃至更加底层和基础的高等数学,它们非常重要,它们无可替代,它们无与伦比。
等到有一天,你的内功和外功都练到了足可睥睨天下的高度时,那你就天下无敌了。当然,前提是你要多实战。称霸武林,这大概是每一个下山行走江湖的人们梦寐以求以及矢志不渝的事情吧。