c/c++书物推荐

来源:互联网 发布:虎嗅创新节 知乎 编辑:程序博客网 时间:2024/05/16 15:06

c/c++书物推荐  


1、  C语言提升

c和指针》

c缺陷和陷阱》

c专家编程》

这三本书我在很多的文章中都提过,是一个初级C程序员必看的三本书,同时也是我们公司应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习。


2、  C++语言提升

Effective C++:改善程序与设计的55个具体做法

More Effective C++:35个改善编程与设计的有效方法(中文版)

C++沉思录

C++Templates中文版

深度探索 C++ 对象模型

泛型编程与STL

我是一个由C转向C++的程序员,所以从来没有系统的学习过C++的语法,往往是用到的什么学习什么。如果要系统入门,《C++ primer》倒是不错。上面的几本书,我正在读的是第一本,打算这两个月可以学完《effective c++》和《more effective c++》,之后再更深一步学习。当然,这里的学完只是把书看完,做个笔记,要完全的理解书中的内容还需要进一步的实践。


3、  设计类

《代码大全》:这是我非常喜欢的一本书,非常适合工作2~3年的人精读。我在一篇文章中专门做过推荐。

《重构-改善既有代码的设计》

代码整洁之道

实现模式

程序员应该知道的97件事

这几本书一般讲的是函数以及更低层次的设计。《代码大全》完完整整的读完过,而且做了很多的笔记,获益良多。《重构》就不必说了,其他几本书前面大致看了一下,也非常不错,计划有时间要好好学习一下。


4、  架构

《软件体系结构的艺术》

领域驱动设计:软件核心复杂性应对之道

软件架构师应该知道的97件事

企业应用架构模式

《面向模式的软件体系结构卷1:模式系统》

软件架构设计

《架构师需要知道的97件事》

我对这一块比较陌生,这也是我今年的学习重点。《软件架构设计》这本书我从头到尾读过,对软件架构也只是建立了一个整体的印象。后面这一块的学习我会和模式的学习结合起来。首先的学习目标是《面向模式的软件体系结构卷1》,之后是《分析模式》《企业应用架构模式》《领域驱动设计》。


5、  敏捷开发

测试驱动开发

敏捷软件开发——原则、模式与实践

Scrum敏捷项目管理

《硝烟中的ScrumXP——我们如何实施Scrum

《敏捷软件开发》这本书我学习了“原则”这部分,对敏捷软件开发有一个大致的了解。其他的书籍对我更像一个参考书。目前还无法安排出大量时间系统学习。


6、  模式

Java与模式(含盘)

实现模式

企业应用架构模式

分析模式可复用的对象模型

反模式:危机中软件、架构和项目的重构

《设计模式》

《面向模式的软件体系结构卷1:模式系统》

上面讲架构的时候说过,模式的学习要和架构结合起来。当然,这是说的更高层次:架构的模式。《实现模式》是面向函数的,《设计模式》是面向对象体系的。《设计模式》我从头到尾看过,但是还需要在看一遍,当时读的时候经验有限,理解的不是很透彻。现在看肯定会有新的收获。


7、  思想类

变革中的思索——张亚勤解码创新

技术领导之路——全面解决问题的途径

创新赢天下:九大商界领袖谈创新

软件随想录:程序员部落酋长Joel谈软件》:这本书里面的文章都非常不错。

华为研发》:把它放在这里似乎有些不妥。

黑客与画家

UNIX编程艺术

《代码之道》

这些书可以锻炼一下思想力。我比较喜欢的是《软件随想录》和《代码之道》,比较期待的是《黑客与画家》。


8、  之美系列

团队之美

《架构之美》

《代码之美》

这三本书都是选择一个主题,然后找一些世界级专家来按照这个主题写一篇文章,所以这几本书的系统性不强(但并不代表书不好)。可以把它放在手边,有时间就读一章,和大师对对话。


9、  开发语言

PHP 6MySQL 5基础教程

PHPMySQL程序设计(3)

Ruby for Rails中文版

我的第一工作语言是c/c++,第二工作语言是python,业余时间工作语言是PHP。上面的书还少python相关图书,正在补充,也正在学习。

 

10linux/unix

深入理解LINUX内核

深入Linux内核架构

UNIX环境高级编程

Linux内核设计与实现

链接器和加载器

Linux高级程序设计

ARM嵌入式系统开发:软件设计与优化

UNIX编程艺术


11、管理类

卓有成效的管理者(典藏版)

管理的实践(珍藏版)

高效程序员的45个习惯:敏捷开发修炼之道

卓有成效的管理者(典藏版)


12、算法

算法导论

《编程珠玑》