background image

这里所指的网络编程是指

socket 编程

。现在

C++的应用很多都是在做服

务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑
的了。

7.

设计模式

设计模式不是具体的技术

,更多的是如何让代码更容易阅读、更好扩展、更

容易使用。

8.库的使用
C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三

方库。最著名的恐怕就是被称为准标准库的

boost 库,它提供了我们编程中用

到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不
包。其它也有一些专著于某一方面的库,比如

ACE 是网络通信方面的,

TinyXML 是解析 xml 的,OGRE 是图形渲染方面的。

9.操作系统的知识
程序员需要了解的操作系统知识和普通用户是不一样的,一个高手是需要

深入了解操作系统的方方面面,而不是停留在使用层面。至于应该了解哪些知识
windows 上的去看

Windows 核心编程§

》,

linux 的去看

深入理解

linux 内

》,应该可以知道自己应该学什么了。

二、项目经验
以上的内容如果都精通了,也算是个比较厉害的程序员了。但是对程序员来

说,项目经验更加重要。一个好的项目可以让你把各种技术进行综合运用,并且
能学到一些新的知识。比如说做游戏的就需要学习图形方面的知识,做播放器的
要学习编解码器方面的知识。

很多程序员会忽略项目的经验,而单纯的谈技术能力,这是错误的。其实这

就是理论和实践的关系,技术就是理论知识,做项目就是实践,理论对实践有
知道作用,实践能加深我们对理论的深入理解。

三、沟通能力
沟通能力是一个高级程序员要具备的软实力。
我这里想说的沟通能力并不是一般说的能说会道,夸夸其谈,说话天花乱

坠。而是建立在技术基础之上的沟通能力。