为了情怀,我又想写书了

Posted by spk xu on Mon 04 September 2017

对于一个写过书,知道写书辛苦、发誓不想再写书的人来说,这几天一直有一个想法在我心里挥之不去:我想写一本书,不是为了钱,也不想为了名,只是想作为一个礼物送给我的那份情怀。

这本书的主要内容是关于C语言高性能编程的。但是首先,不希望这本书写的有多么的厚;也不希望写一本大而全但全是“Hello world”式的介绍无深度书。我只想把我这7-8年时间对于C语言的项目实践能毫无保留的输出出来。包括C语言的一些基础知识、项目实践、经验总结等等,希望能给更多的人带来便利。

之所以想出一本这样的书,有几个原因:
1. 目前市面上关于C语言开发的书,除了讲语法的,就是讲数据结构和算法的。真正用来讲项目实践的,输出项目经验的书少之又少,可以说没有;
3. 还有是为了各位我们的小伙伴。我试图让小伙伴们去看书,我还给开了一个详细的C语言项目“打怪升级”书单,但实际收效甚微。总结原因:对于他们来说,看书是很容易,但因为项目经验的欠缺,导致他们无法分辨书中哪些是重点,项目中肯定会用的;哪些是需要知道就行了,项目中很少使用;哪些是压根不需要看的;像这样的情况很多次的出现,几乎每个人都会在这个上卡了很长时间,导致时间花了,但收获很小;
2. 这不仅仅是为了大家,也是为了我自己。我们在项目的实施中,新人不断的加入,但是对于C语言的知识、技巧、经验却要重复的对他们进行培训。有时候一个问题要说好几遍,费时费力、投入和产出还不成正比;

所以注定了,这本书是一本小众的书。这本书面向的是有一定开发经验的程序员,至少你是一个熟悉C语言的人,曾经用C语言的语法写过程序。如果你还是用过别的语言比如java或者c#那就更好了。因为C语言的坑比较多,掌握曲线比较陡峭,所以一直没有自信心在正式的环境中使用并且部署过C语言程序的人也是这本书的潜在对象。

干脆,我把这本书暂时就取名为《C语言高性能编程》,我打算整本书分为几个部分:
1. 操作系统原理与程序结构,主要讲解C语言编程中需要使用到的操作系统的原理,内存的映射,进程的原理等等;
2. C语言。但是不会讲解C语言的语法,使用方法等等。这些应该去看K&R,而是会介绍C语言的几个在项目中特别的注意点,比如内存的申请与释放、野指针问题、stack溢出等等实际的问题和解决方案;
3. 实际的项目经验。包括在实际项目中内存的管理,客户端-服务器模式的实现,事件机制,服务器端编程技巧等等。这是整本书的重中之重;
4. 程序调试。分为3个部分。首先是gdb的普通调试,然后是valgrand的内存泄露检测,最后是线上环境的bug调试与解决方案;

写书是一件苦差事,肯定会影响到公众号的文章。所以为了弥补,我会设定一些样章,我会把这些写好的样章公布在公众号中。希望大家能喜欢。

tags: 兴趣爱好