这里所指的网络编程是指
socket 编程
。现在
C++的应用很多都是在做服
务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑
的了。
7.
设计模式不是具体的技术
,更多的是如何让代码更容易阅读、更好扩展、更
容易使用。
8.库的使用
C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三
方库。最著名的恐怕就是被称为准标准库的
boost 库,它提供了我们编程中用
到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不
包。其它也有一些专著于某一方面的库,比如
ACE 是网络通信方面的,
TinyXML 是解析 xml 的,OGRE 是图形渲染方面的。
9.操作系统的知识
程序员需要了解的操作系统知识和普通用户是不一样的,一个高手是需要
深入了解操作系统的方方面面,而不是停留在使用层面。至于应该了解哪些知识
windows 上的去看《
》,
linux 的去看《
》,应该可以知道自己应该学什么了。
二、项目经验
以上的内容如果都精通了,也算是个比较厉害的程序员了。但是对程序员来
说,项目经验更加重要。一个好的项目可以让你把各种技术进行综合运用,并且
能学到一些新的知识。比如说做游戏的就需要学习图形方面的知识,做播放器的
要学习编解码器方面的知识。
很多程序员会忽略项目的经验,而单纯的谈技术能力,这是错误的。其实这
就是理论和实践的关系,技术就是理论知识,做项目就是实践,理论对实践有
知道作用,实践能加深我们对理论的深入理解。
三、沟通能力
沟通能力是一个高级程序员要具备的软实力。
我这里想说的沟通能力并不是一般说的能说会道,夸夸其谈,说话天花乱
坠。而是建立在技术基础之上的沟通能力。