第一级:入门
(1) C
《Linux C编程一站式学习》 http://z.xiaoi.com/r?www.china-pub.com%2F196188
个人认为是最佳的 C 入门中文教材,建议购买实体书,当然也可以看网上的免费版。不过电子书容易分散精力不如实体书好。
《C 语言核心技术》英文版《C in a nutshell》
经典的牛头书,适合做工具书,尤其是后面标准库章节。
其他几本经典英文版图书,可以看电子版或者纸质影印版。
《C Programming Language 2nd Edition (k & r)》
(2) 汇编
《王爽 - 汇编语言 (第2版)》
最佳汇编入门教材,目前中文版里无出其右。
《IBM-PC 汇编语言程序设计》
人人都有的大学教材,作为工具书还是很方便的。
《Windows 环境下32位汇编语言程序设计 (第2版)》
这本书可看可不看,日常能用到的东西并不多。
其他基本汇编相关的杂书,适合有一定基础的同学。
《黑客反汇编揭秘》
《加密与解密, 第三版》
第二级:提升
(1) 计算机系统
《深入理解计算机系统(修订版)》
对于了解相关技术背景很有作用,可以做闲书看。
(2) 操作系统
《Linux系统管理技术手册(第二版)》
《深入解析Windows操作系统 第4版》
《深入理解Linux内核(第二版)》
这基本书都需要一定得基础和耐心,不见得要搞懂所有的知识点,但一定要明白相关的技术背景和大概情况。这对于我们做应用开发有很多好处,慢慢才能体会。适合有时间就翻翻。
第三级:开发
(1) 基础理论
《编译原理(原书第2版)》
还有其他几本书,包括数据结构和算法的。可以按个人的习惯筛选,考虑到专有名词太多,中文翻译的种种问题,我个人觉得看英文版是个不错的选择。
(2) 系统编程
《天书夜读:从汇编语言到Windows内核编程》
《Windows核心编程(第5版) 》
《UNIX环境高级编程(第2版)》
《Linux系统编程 》
后三本都是难得的经典好书,个人觉得有收藏价值。系统开发和应用开发有所区别,但应用都是建立在系统开发的基础之上的,了解很多内核技术背景十分有必要。
第四级:调试
《Windows高级调试》
《Windows用户态程序高效排错》
《软件调试》
除了第一本,其他的看着买吧。
第五级:设计
《设计模式 - 可复用面向对象软件的基础》
《重构 - 改善既有代码的设计》
这两本是程序员必备的书,其他的看各自的习惯购买即可。
工具书我就不列了,也可以不买,看帮助文件就行了。
说白了,还是自己要耐心,踏踏实实看书,深入挖坟。