首页 > 范文大全 > 正文

程序员是怎样炼成的

开篇:润墨网以专业的文秘视角,为您筛选了一篇程序员是怎样炼成的范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

说实话,只会一些语言的语法并不能算是一个真正的程序员。印度的高中生经过几个月强化训练加上严格的管理就能够胜任工作,那对于当今的计算机科系的大学生而言到底出来干什么。只会一些语言的语法只能说是一个编码机器。现在说说程序员到底是如何炼成的就跟武功一样有层次的划分

程序员的七个层次:

第一层次――无所不知

此阶段主要是能熟练地使用某种语言。这就相当一些名门大派的弟子属于此种层次。进入此层次的人非常多,此种层次的特点是学过系统的武学(某种语言javac/c++等)方面的理论,多有一时放眼天下,舍我其谁。所以称之为无所不知。但此阶段的局限性相当明显,一是所学武功一般都属古董之类的东西,除了一些原则性的东西还可使用外其他的都没有什么用。二是无实战经验,平时切磋或许有所裨益。但环境和特点与江湖中的武功相差甚远。

此层次从另一个角度而言,为将来的发展打下了良好的根基,在长远的将来,对自己的帮助不可估量。

第二个层次――一无所知?

此层次能精通基于某种平台的接口(例如我们现在常用的win32的api函数)以及所对应语言的自身的库函数。就相当于把一种武功练到极致练到大成。但是一项平常武功练到大成后踏入江湖才发现自己虽然已经武功不凡但却有好多比自己还厉害的人,于是便有一种挫败感或壮志难酬的感觉。因此发现自己的武功招式还有好多漏洞,还要好多方面可以提高。所以此阶段称之为一无所知。虽然达到此层次的感觉可能不太好,但毕竟有一种武功练到大成,仍是一件好事,亦仍是一个必经的阶段,所以列为第二层次。

第三个层次――有所知?

此阶段能深入地了解某个平台系统的底层,相当于练武之人开始不断的修补自己武功的漏洞,提高自己的武学休养。其武学修为水平日臻完善,但是仍拘泥于门派之分,顾也还只能称之为有所知。此时已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。

第四个层次――自成体系?

此层次能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行linux内核的修改等。

相当于武术经过了前三个层次,第四个层次的大侠一般是真正的武功天才,他们的特点是,历经百战并于武学理论相融合,再通过自己的提升,形成真正属于自己的武功体系,对武功理论的某些方面,或者招式的研究有着深入的认知。并且有所成就。

这时的程序员已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一层次的时候学习语言的那种情况。一般来说,从第三层次过渡到第四层次是比较困难的,因为很多人的思想变不过来。

{第五境界――思辩的境界?

此层次不能谓之为层次,而是到达了一个境界。此时就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。

处于思辩境界的人可以称之为痴,所谓思辩,不是指其武功理论总是发生不一致的现象,而是当对基于实战的武功站在更高的高度和不同的角度来看待和分析时,会发现对于某一个招式或者某一武功,会得出不同的结果,甚至是自相矛盾的结果。当对现有的武功理论进行分析时,可以从中找到很多的不足或漏洞。此时,是一种矛盾的境界,同时,自身在这种矛盾中,得到更高的磨炼和提升。也是一种更深的突破的前奏。可以说是“手中无剑,心中有剑”。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是wordexcel这样的大型软件,只要有充足的时间,也一定会设计出来。

第六重境界――宗师的境界

此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。而且有自己的思想。达到了第六重的境界,宗师的境界。处于宗师境界的人可以称之为师,因为在经过突破之后,自身的武功理论体系成为一种全新的更高的体系,自身的武功可以获得更好的提高,更重要的是,他们的理论成为一个江湖推崇的经典。此时,也就是“手中无剑,心中也无剑”。

技术到达最高的境界后,是没有分别的。任何东西都是相通的,只要你到达这个境界以后,什么问题一看就能明白,一看就能抓住最核心的问题,最根本的根本,而不会被其他的枝叶或表象所迷惑,做到这一步后才算比较成功。

从程序员本身来说,如果它到达这一步以后,他就已经形成了开阔的思维。他有这种开放性思维的话,他就能做战略决策,这对他将来做任何事情都有好处。事实上,会做程序后,就会有一种分析问题的方法,学会怎么样把问题的表象剖开,看到它的本质。这时你碰到任何具体的问题,只要给点时间,都能轻而易举地解决。实际上,对开发计算机软件来说,没有什么做不了的软件,所有的软件都能做,只是看你有没有时间,有没有耐心,有没有资金做支撑。