几本书

来源:互联网 发布:大数据daas 编辑:程序博客网 时间:2024/04/24 01:32

CSDN:多年C和C++项目开发及管理,有什么经验可以分享给这个领域的工作者?在程序员修养方面,他们又应该注意什么,多学些什么,多看些什么?

许鹏:尽管从事C和C++开发多年,我还是不敢说自己非常精通。有的只是一点点的感悟和体会,如果是进行Linux平台下的C语言开发,最好还是就下面几个问题多做一些试验,多读一些相关的书。

1. 程序的运行和加载,推荐程序员的自我修养一书。

2. 内存分配,推荐阅读Ptmalloc源码分析,无论是C还是C++程序员,这一部分是最容易踩雷的,多读一点基础的东西,会在解决实际问题的时候,不至于手足无措。以这些为基础,再结合Valgrind或Purify,相信效果会更好。

3. 多读一点C和C++开发的成功产品,如Apache Http Server和Nginx,这样就容易搞清楚在设计一个系统的时候需要有哪些关注点。 

  • 是单进程还是多进程,是单进程多线程还是多线程单进程
  • 进程间通信采用什么方式
  • 消息的encoding/decoding以及message passing,每次都要自己写一次,不累吗,有没有好的开源实现,如Protobuffer、Thrift
  • 对于一个Network Server来说,基本构架大体上还是相同的,acceptor→dispatcher→worker

4. 《深入理解计算机系统》真的是一本非常不错的书,为什么要这么说,软件的设计还是要以物理设备支持的特性为基础的,这本书让我们在CPU的级别来进一步思考程序设计。

0 0
原创粉丝点击