经过这段时间的工作,以及在学校期间学习的一些课程,让自己一直在软件开发,芯片设计和多媒体算法开发中挣扎,在经过这段时间的思考之后,结合自身的一些特点,还是决定走软件开发这条路,那么既然选择了走这条路,就需要对软件开发方面的知识进行重新的整理,由于自己是EE专业毕业的,对于CS专业的一些课程的内容没有学过,只是自己有自学过,那么在接下来的时间,花点时间来对自己之前的知识进行一下梳理。
对于软件开发,我觉得需要对下面的可能有非常深入的研究才行,
1. C/C++
这个是软件开发所需要的语言。
对于C中的指针和指针函数的使用还不是很熟练,需要进一步的巩固,
对于C++中的一些新特性还不懂,像vector,STL之类。
2.数据结构
在软件开发中会经常用到,其中的大部分原理基本掌握,但是不熟练,同时用代码来实现还有点困难,需要进一步的学习
3.设计模式
这个对于面向对象语言(像C++,Java等)来说,以及开发大型的软件来说,我觉得比较重要,对于23种设计模式,有了一些概念上的认识,需要进一步的来研究
4.TCP/IP协议
这个在互联网时代,对于开发网络应用程序还是蛮需要的,一直都看,但是看的有点乱七八糟,需要找本权威的书本,系统的看一下!
5.操作系统
一直花了很多时间在研究操作系统的实现,然而由于没有上过操作系统的课程,对于其中的原来用代码来实现看起来比较吃力,看来需要改变一下策略,要对操作系统中的一些原理弄明白,然后再去研究内核代码。一边研究原理一边学习内核代码,效果有点差!
6.编译原理
对于这部分的内容,最近有在看过一些内容,对于一个完成的编译器的实现整个过程已经有了一个清醒的认识,但对于其中没有部分的细节需要花费大量的时间去研究。这留待后面有时间的话在说吧!