为什么会走弯路呢?因为自己对某些知识存在很多错误的认识,比如说当年认为C语言不怎么重要,结果就没怎么好好学。以致于现在疯狂的往回补。
弯路走的多了,自然就有经验了。在我看来,
优秀的程序员=扎实的计算机基础知识+良好的数据结构和算法思想+自己最擅长的技术。很多同学,一直热衷于疯狂的写代码,这本来是很正确的,但这个要建立在一个基础上,那就是理论基础,没有理论基础的程序员是不行的。
曾经有个公司的老板和我说过,擅长写代码的程序员是优秀的程序员,只有在这基础上加上扎实的理论,才能叫的上是卓越的程序员。(可惜当年没有好好听他的话,现在想想,真的很有道理!)
我想,很多同学在学习的时候都很迷茫,面对一大堆的语言和各种各样的技术,不知道到底该学习哪个。网上一查,说哪个好的都有,我曾经就徘徊于Java和.Net之间,甚至在一段时间内,两个都学。可是,让我们仔细想一想,语言只是软件架构最上面的一层,可以说,一个项目用什么语言都可以实现,最重要的是,处于语言下面的这些基础架构以及用语言来实现的算法,这些才是项目的精髓!所以,语言并不是最重要的,说最实在的,不论哪种语言,像C,C++,Java,C#等等,只要掌握其中的一种就足够了。关键的是,我们要把理论的知识学透了,这就像武侠电视里人们练的内功,内功好的人,学什么新的功夫都快,而且往往能学到高一点的境界!
举个实际的例子,像Java,我开始学习的时候,遇到新的就学习。刚学完Java基础,就学习Web方面的,从Jsp到SSH框架,Ibatis,后来又接触了EJB,JPA。什么WebService、RMI、JNDI,一个个新名词接踵而至..还有什么XML,JSON,DOM,总之,太多了,这些只是暂时能想到的,没想到甚至不知道还不知有多少呢!上述每一个都是一大块知识,太多了,很难全部准确的掌握透。用什么办法解决这个问题呢?那就是,认真的学习好Java基础。很多都是Java框架,框架的内部,都是一条条基本语句,只是将基本的东西,写在一起,经过一定的优化,就成了框架了,只要我们基础打扎实了,我们也可以写出属于自己的框架!所以,不要一味的去学习新技术,老老实实把基础打好,等基础弄扎实了,其它的学起来很快的。
后来在我求职的过程中,深深的感受到了,很大的公司,都要问一些原理性的问题,在此,我想提醒广大同胞们,不论学习什么知识,一定要深剖它的内部细节,弄清楚它的工作原理,这样才有助于更深层次的掌握它,才能更好的运用!
最后,总结一下自己的感受:
1、学校的理论课千万不能落下,不但不能落下,而且还要在学习的时候多多练习。
2、知其然就要知其所以然。学东西,一定要懂原理,切莫走马观花。
3、神马语言都是浮云,数据结构和算法永远都是王道!
4、在扎实的理论基础上,多多练习,加强实践能力。
5、理论扎实了,找到自己喜欢的一个点,扎进去,永远不要出来。
以上是自己3年来学习的一个小的总结,文笔不太好,写得不够顺畅,但句句发自肺腑,如果我在大一的时候能看到这么一篇文章,现在绝对是高手一个了!希望大家在学习的过程中能少走弯路!
最后,祝愿所以找工作的同学,能踏入自己心仪的企业!
为什么会走弯路呢?因为自己对某些知识存在很多错误的认识,比如说当年认为C语言不怎么重要,结果就没怎么好好学。以致于现在疯狂的往回补。
弯路走的多了,自然就有经验了。在我看来,
优秀的程序员=扎实的计算机基础知识+良好的数据结构和算法思想+自己最擅长的技术。很多同学,一直热衷于疯狂的写代码,这本来是很正确的,但这个要建立在一个基础上,那就是理论基础,没有理论基础的程序员是不行的。
曾经有个公司的老板和我说过,擅长写代码的程序员是优秀的程序员,只有在这基础上加上扎实的理论,才能叫的上是卓越的程序员。(可惜当年没有好好听他的话,现在想想,真的很有道理!)
我想,很多同学在学习的时候都很迷茫,面对一大堆的语言和各种各样的技术,不知道到底该学习哪个。网上一查,说哪个好的都有,我曾经就徘徊于Java和.Net之间,甚至在一段时间内,两个都学。可是,让我们仔细想一想,语言只是软件架构最上面的一层,可以说,一个项目用什么语言都可以实现,最重要的是,处于语言下面的这些基础架构以及用语言来实现的算法,这些才是项目的精髓!所以,语言并不是最重要的,说最实在的,不论哪种语言,像C,C++,Java,C#等等,只要掌握其中的一种就足够了。关键的是,我们要把理论的知识学透了,这就像武侠电视里人们练的内功,内功好的人,学什么新的功夫都快,而且往往能学到高一点的境界!
举个实际的例子,像Java,我开始学习的时候,遇到新的就学习。刚学完Java基础,就学习Web方面的,从Jsp到SSH框架,Ibatis,后来又接触了EJB,JPA。什么WebService、RMI、JNDI,一个个新名词接踵而至..还有什么XML,JSON,DOM,总之,太多了,这些只是暂时能想到的,没想到甚至不知道还不知有多少呢!上述每一个都是一大块知识,太多了,很难全部准确的掌握透。用什么办法解决这个问题呢?那就是,认真的学习好Java基础。很多都是Java框架,框架的内部,都是一条条基本语句,只是将基本的东西,写在一起,经过一定的优化,就成了框架了,只要我们基础打扎实了,我们也可以写出属于自己的框架!所以,不要一味的去学习新技术,老老实实把基础打好,等基础弄扎实了,其它的学起来很快的。
后来在我求职的过程中,深深的感受到了,很大的公司,都要问一些原理性的问题,在此,我想提醒广大同胞们,不论学习什么知识,一定要深剖它的内部细节,弄清楚它的工作原理,这样才有助于更深层次的掌握它,才能更好的运用!
最后,总结一下自己的感受:
1、学校的理论课千万不能落下,不但不能落下,而且还要在学习的时候多多练习。
2、知其然就要知其所以然。学东西,一定要懂原理,切莫走马观花。
3、神马语言都是浮云,数据结构和算法永远都是王道!
4、在扎实的理论基础上,多多练习,加强实践能力。
5、理论扎实了,找到自己喜欢的一个点,扎进去,永远不要出来。
以上是自己3年来学习的一个小的总结,文笔不太好,写得不够顺畅,但句句发自肺腑,如果我在大一的时候能看到这么一篇文章,现在绝对是高手一个了!希望大家在学习的过程中能少走弯路!
最后,祝愿所以找工作的同学,能踏入自己心仪的企业!