程序员打好基础方能成功
版权所有,转载请注明:本文出自学与思编程网
大学毕业后进入一家搞材料的研究所工作,并在那里蹉跎了3年的光阴后终于觉悟了,决定转行进入软件开发行业。由于以前上学时多多少少学过点c++builder编程,于是从研究所出来后很快找到了我的第一份程序开发的工作,那时真的很兴奋,不过真的很感谢当时招聘我的那个技术经理,中科大毕业的高材生,水平相当高,教会了我很多技术上的东西,更教会了很多学习的方法!由于个人想转入linux开发,第一份工作只干了不到一年就辞职了,从最先的连linux怎么安装都不懂到现在已经从事linux开发有近3年的时间了,在这3年中虽然也学到了不少东西,但离高手还差的远,之所以想在这里写篇文章来给初学者一个入门指引,绝不是因为自己有多强,而是真的希望给未入门而欲入门或刚入门的朋友们一个建议,更或给自己一个3年来的总结,希望大家与我都少走弯路,尽快变成一个合格的高水平开发人员。
要成为程序开发高手,我们不能寄希望于像金庸小说中的传奇人物那样突然之间得到什么秘籍或高人相助而功力大增。我们只有老老实实一步一个脚印的学习基础知识才会有所收获,可以这么说,基础知识是否扎实决定了以后您可以在编程领域走多远。所以我们一定要夯实基础知识,包括离散数学,数据结构,编译原理以及操作系统原理,这些知识对linux下的c程序员是相当重要的,如果这些知识您掌握得不错,那么遇到一些从未见过的问题后您一定可以举一反三,比较轻松地把问题解决掉,否则可能费了九牛二虎之力还不能找到问题的根源。可能有很多朋友觉得大学计算机专业学的那些课程过时了,毫无用处,学习时就不认真,赶时髦今天去学学VC,明天又去学学python,把大好光阴都浪费在了学习语言上了,语言只是一个工具,如果仅仅会语言,那最多只能做一个最低层次的编程者了,所以不建议大家花大量时间去学习语言,包括c语言也一样,最多学习几个星期就足够以后的开发工作了,不知大家看过linux内核源代码没有,如果没有看过可以去看看,里面的代码本身或则说语法根本没有什么高级之处,即使我们只学过1个月的c语言基础语法,也能一看就明白某行代码是干什么,但为什么我们很难读懂哪怕是一个很小的内核模块呢,原因就在于基础知识不扎实,不懂操作系统原理,不懂算法,不懂编译原理,不懂程序工作原理等等。所以强烈建议还未踏入实际工作的在校朋友们一定要把基础打好啊,如果您基础好,工作后您一定会比别人发展得快得多;已经在工作的朋友,如果您发现您很难再提高编程水平时,是否可以看看自己的基础是否已经很扎实,如果不扎实,赶快行动吧,如果已经很扎实了又很难提高了,那您一定是顶尖牛人了,恭喜!
前面的基础知识学得不错后就应该跟编程平台相关的基础知识了,比如您想做linux平台的开发,就要要学会使用Linux,学会常用C库函数及系统调用,学会调试,学会linux编程思维,如果想更牛,还得学会linux系统内核的工作原理,其实懂了linux内核的工作原理后您再回头来看应用层的编程,那层次真的不一样,您可以很明白为什么我们在应用层要调用某个API,调用后会发生什么事情,一切都会在您的掌控之中,这时候编程就已经是一种乐趣了,而不是我们常常听到开发人员抱怨所说的编程就是体力活。
有了前面扎实的基础知识积累后,您已经算一位高手了,只要继续努力学习,前(钱)途将会大大的有!
版权所有,转载请注明:本文出自学与思编程网
