怎样学好计算机
工作快3年了,(何止?包括兼职都10年啦),谈谈自己的体会,如果有不同意见可以指出来。
首先是动手能力。如果喜欢就可以试试看。特别在刚刚学习的阶段,要选自己最喜欢的。落后的技术也没关系。例如用Fortran,Basic 来做数学题就不错,可以入门,培养兴趣。
如果有信心从事这个行业,接下来就可以去外面闯了。是的,一点没问题,做网页,javascript,perl,php,到小公司去,不要在乎待遇,不出几周就可以开始独立干了。知道了道理,这个时候看机遇,了解一下最新的技术。做java, .net就随便了,有了些以前的经验会比较好找。
但技术不断发展,java, .net都是不断在更新中,你想被大公司牵着鼻子走就好好钻研这2个技术之一。做了2,3年后,不是高手也能独立开发大型软件了(时间管理是另外一回事)。当然,这个时候基本上可以做个小小的项目经理,开始慢慢离开编程第一线。
还有个选择就是去做些更有趣的事情。好好看看大学里学过或遗漏的东西。这些是:高等数学,线性代数,计算机原理,操作系统,汇编和C。
高等数学
最重要的科学,思想诞生的地方
线性代数
用计算机解决实际问题的桥梁
计算机原理
探索始于好奇心,原理让你彻底知道计算机不过是机器
操作系统
佩服一下人的智慧和创造力,知道怎样使电路变得有意义
汇编
软件不过是机器码互相调用
C
用宏代换来写汇编就是C
只要学通这6门功课的50%就过关,可以做更加有趣的事情。可能性太多,我不能例举。剩下的50%就留给以后继续学习。肯定是有益的。人工智能是一个很有趣的选择。比较前沿且有趣的有:进化计算,人工生命(AL),机器学习(ML),知识表达(KR)。这些都有有些较大的重叠,例如用到了神经网络(NN)的就有ML,KR。而NN自己也是个很重要的领域,用在模式识别(PR)上有比较多的应用。所以学通是要花功夫的。
但除非去大学教书,这些技术的应用所牵涉的面还是比较小的。现在已有专业的数据挖掘工具,用到了一些成熟的技术,这是将来的方向。还是第一条:动手能力是最重要的。工程界,不管是搞理论还是项目,都要有个感性认识才能有所把握。
程序员不是青春饭,青春饭只是现象,我没有看到一个我身边的老程序员失业。以前的同事,现在成为了老师,推销经理,教授,数据库经理,项目经理,企业老总,不一而足。大家都在做着自己喜欢的事情罢了。我承认普通coder是技术蓝领,但再笨的人只要有上进心就可以实现自己梦想。