如果是以应聘为前提,光是C,C++是绝对不够的,
计算机体系结构是第零步,语言是第一步,算法与数据结构是第二步,操作系统是第三步,
网络是第四步,应用平台与框架是第五步。
0计算机体系结构是根本,我当学生时没有明白这一点,直到看完一本书《编码的奥秘》才明白。
这本书作为开始是最好的了,作者在书中从0,1开始构建自己的加法器,寻址器,内存,在一边玩一边学中最后构建了自己的计算机,定义了自己机器用的语言。非常经常,趣味性和学术性的集合体。
1语言,C,C++就挺好,学好这两样,以后学Java,.net什么的信手拈来。JavaScript我学的很顺,就是因为写了多年的C++,至于PHP神马的,用的时候,“咦,这不是和C差不多嘛”。当然MIT有本HTDP How to Design Programs 也是非常的棒,里面的教学语言是用的DrScheme.非常的简练漂亮,而且与C,Java这一体系完全不同的感觉,值得体验。
此有在线版http://www.htdp.org/
2算法与数据结构,语言掌握后,需要练习一点内功,第一步就是这个。我们不要重复造轮子,几十年来各种算法与数据结构已经非常成熟,现在没用到也最好有个了解,到时可以拿来就用。可以看看《C算法》这样的书算是比较经典,也要学习下std方面的,毕竟C++的模板库很成熟,实际使用基本都是用的这个。
3学习操作系统原理,这个软工的课程应该会覆盖,教材就够用了,了解进程管理,内存管理和进程间通信三部分就行了,国内也没有很多让你深入研究的机会,多数人毕竟要吃饭都得出来当一只码农的,实在有兴趣深入可以研究Linux源码。
4网络,现在做点事,要想和网络不沾边,实在有点难,而且这也是很有趣的。一样的,软工专业肯定会选一本类似于《Computer Networks》这样的经典教材,学完基本掌握基础。自己再了解一些新东西就行了,虽然不一定以后专门做网络应用,了解主流的服务端的框架和前端开发的模式、框架、潮流也是很有必要的。能够自己做一些练习项目就更好了。服务器端技术,Java一脉 php一脉 .net一脉,可以选一个来学习,对于C基础的人来说,最简单易学的就是PHP了,基本没什么入门难度。
前端的东西,按现在最潮的HTML5,当然不会一点JavaScript都不好意思和人说自己是学软工的,正好有最新版的JavaScript高级编程这本红宝书。学完再进一步学下Ajax高级编程这本经典,基本就可以拿得出手了。
5平台与应用框架,说到底,你要写应用,还是要依靠平台。作为一只码农,不掌握一个平台的开发技术,自己心里都没有底。目前国内来看有3个方向
a桌面应用,目前国内普遍是WIndows一家独大,而且现在桌面应用逐渐暗淡,主要是盈利模式的问题,盗版猖獗让很多主打桌面应用的公司都在走下坡路。
b网络应用,目标平台主要是浏览器和服务器容器,前端就是针对浏览器开发,后端就针对各种Servlet容器,PHP容器,.net容器开发。
c移动应用,目标平台目前两大主流IOS和android,ios开发需要Mac机器,别提虚拟机什么的,都不靠谱。android的开发很方便,不管你是windows机器,ubuntu还是mac上都可以进行。
对每个平台的掌握,都是通过SDK和框架两部分来的,SDK是让你的程序驱动系统提供的接口来实现你要的功能,框架是系统的组织结构和工作模式。对每个平台来说入手时总是找到相应的教材,自己跟着做一堆练习就可以了。后面的进一步做项目才是让你深入理解平台的关键。
我在学校时刚学完语言也比较迷茫,觉得没有掌握一个平台上的开发技术就心里没谱,当时选择了学习Windows平台技术,毕业后在一家做桌面系应用的公司工作。那时05年,当时月薪大概3000公司的工作非常繁重,经常需要加班到很晚,做的很累。习惯后稍微好点,一直工作了6年,觉得桌面应用的盈利模式已经不适合现在了。现在的桌面应用,应该是作为圈住用户群体,然后通过其他模式来赚钱比较好,单纯卖软体,至少在中国,很不合适。最后11年的时候大概是5000的月薪,实在有点少,又觉得挺累的,就努力学习,转行安卓。感谢我的C++背景,和在单位繁重的工作造就的一双快手,转Java的经历非常愉快,现在跳槽到另家单位做安卓应用,月薪7000的样子,作为8年的老码农,其实挺丢人的。
现在想起来,这样的原因,就是因为我脾气比较怪,我喜欢自己摸索,从来不喜欢听所谓达人和老师的意见。所以跌跌撞撞这么多年,总算是建立了自己的知识体系。由于前瞻性不行,很多时候不能把握住技术流行的趋势,耽误了很多,但是自己摸索,也是一件很好玩的事情。毕竟我是觉得编程很好玩才选择这个专业的。当初的梦想就是做一个程序员,不管是多蠢,多笨的也好,只要是个程序员就行了。
本科自己多搞搞项目,多弄弄开发。语言只是基础,要在上面架构出内容才能有用武之地。
毕业都以程序员为起点,日后将升为几种:高级技术工程师、项目经理、技术总监等等(据说)。国内总说难找工作,其实公司也难招人,因为没有高端人才。所以,找好一个方向就努力深造,RMB就随之而来了。
你上招聘网看他们怎么招人就知道了。
其他语言= =