转自:http://blog.csdn.net/hzbooks/archive/2009/01/31/3855551.aspx
在Gmail TopLanguage Group 中看到一篇文章“C/C++程序员必读的十本书(上)”,大家的讨论都很激励,大家都觉得这篇文章写得很棒,我想在Group里的朋友都能在Lookgirl的这篇文章里获益不少,为此斗胆在此转载该文,供更多朋友交流、学习。
C/C++程序员必读的十本书(上)
这个题目大的有些离谱,实话说,只是想推荐一下自己觉得很好、值得收藏的一些技术方面的图书。如果不是程序员,或者关心的方向是网页开发、数据库开发,或者只是想了解一下开发流程,这些书不都是适合你,但也很值得收藏了。
这篇文字的针对目标是,微软平台下的c/c++程序员,学过计算机基础学科,有一定的英语阅读能力。建议购买的顺序也是从上至下。
(1)建议大家阅读的第一本书是《编码的奥秘》(英文名《code》)(本书由机械工业出版社华章公司出版),这本书中文版应该已经绝版了,但好像有英文影印版。这本书没有讲该如何编程,如何写一个hello world。它深入浅出的介绍了计算机是如何组成的,比如二进制,比如逻辑门电路的实现,都是很浅显的。看了这本书,会对计算机有个知其所以然的了解,也就是机器如何实现的一加一等于二,如何能执行程序。《编码的奥秘》是计算机专业或者是初中高中对计算机感兴趣学生,应该一上学就读的一本书。
(2)第二本也是建议大家看到了立刻买下来,保证物有所值,就是《程序设计实践》(英文名The Practice of Programming)(本书由机械工业出版社华章公司出版)。有了这本书,基本上《代码大全》、《程序员修炼之道》这几本后面推荐的书可以不买了,因为精华基本上都浓缩到这本书里面,当然,不同的作者写出来的还是不一样,如果有钱,还是都买了最好。《程序设计实践》的两位作者Brian W.Kernigham / Rob Pike,在计算机领域,就是大师级的人物,高山仰止,写出如此通俗易懂的计算机工程实践书,让我还能说什么仰慕的话啊。你不知道他们是谁?去搜wiki 吧。里面每一章节都非常经典,甚至每章后面推荐延伸阅读的书籍,都是经典中的经典。一定要慢慢读反复读,如果这本书看完了以后,基本上就是一个计算机中级编程水平了。
(3)第三本书比较难选择一些,还是推荐这本好了《C程序设计语言,第2版》,也就是传说中的K&R,如果你是一个计算机专业的学生,还没有这本书,那你在学校里学了什么就很值得怀疑。这本书272页,每页都很经典,基本上你碰到的所有c语言问题在这本薄薄的小书里都有涉及,但是限于篇幅,有些会简单带过。里面代码例子不多,但还是包含了一个相当完整的语法分析器程序。不多说了,如果没有这本书,赶快去买吧。
(4)现在大部分企业使用的是c++而不是c(比如google),除非是嵌入式或者操作系统内核级的程序,c++的性能与强大语法基本上可以满足各方面的需求,c++的入门书很多,选择也比较容易,推荐大家买奥莱理O‘Reilly的或者是c和c++经典著作这个系列的。第四本要推荐的不是c++编程方面的,而是一般类似于八卦c++历史的书《c++语言的设计与演化》,豆瓣链接http://www.douban.com/subject /1096216/。编程工作其实就是一个在不同的方案中进行选择权衡的一个过程,是该选择vector还是list,是该使用多线程还是多进程,是该使用xmlrpc还是dcom,是使用数据库还是注册表,有心的人会研究不同选择背后的深层技术问题,有些人基本上就是一套方案打天下。这本书就介绍了c++之父设计c++语言时选择的一些考量,为什么不用GC,为什么没有这个那个特性,为何不内置某某keyword。在我看来,这些考量的过程,对于一个编程人员来说要比如何使用c++更有价值。
(5)我选择了《unix编程艺术》,它击败了《代码大全》《c专家编程》等诸多经典占据了这个位置,主要也是占了unix操作系统的光。豆瓣链接http://www.douban.com/subject/1467587/。之所以选择这本书,是因为对于一个windows平台上的程序员来说,尽量开阔眼界是非常必须的事情。我们经常说混血或者说杂交会让基因更加优秀,编程也是如此,windows平台的程序员,如果只懂mfc,只会注册表保存配置,只知道COM或者DotNet,是一件非常悲哀的事情,用成语来说就是井底之蛙坐井观天,只认为天就是这么大一片,编程就应该用这些东西。
unix操作系统虽然不像windows占据了桌面平台,但是在其他方面,使用非常广泛,比如苹果的mac osx系统,比如sun的solaris,比如继承了unix精神的linux。尤其在当今桌面系统网络化的潮流下,unix系统天生的网络特性、多用户管理特性、安全特性,更是体现了超越时代的杰出思想。读一读这本书,体验一下不同的设计理念和不同的操作系统哲学,对于日常的编程工作都有非常大的帮助。 Windows程序员尤其要学习的是:unix系统上script的使用,使用纯文本作为数据格式,使用管道,最最重要的一点就是,Keep it simple and stupid,一个程序只做一件事,只需要把这件事做到完美。这与windows的大而全思想有着本质上的不同。
有空再给大家写剩下的五本书。
=================================
分享到:
相关推荐
以下是一份详细的C++程序员必读书目清单,分为五个阶段,逐步引导读者从入门到精通。 阶段1:基础入门 1. 《Essential C++》:这本书适合C++初学者,它以简洁明了的方式介绍了C++的基础概念,包括语法、函数和结构...
《C/C++高质量编程》由林锐博士撰写,是一份详尽且专业的指南,旨在提升C/C++程序员的编码质量,被广泛认为是C/C++程序员必读的经典之作。此书不仅涵盖了C/C++编程的基础知识,更深入探讨了如何编写高效、可维护的...
C++ Primer第5版,C++程序员必读系列 C++ Primer第5版是C++程序员必读系列中的经典著作,由Stanley B. Lippman、Josée Lajoie和Barbara E. Moo三位著名的C++专家共同编写。该书涵盖了C++语言的所有方面,从基本...
Kernighan合著的作品,被誉为C程序员必读的经典。它首次引入了“Hello World!”程序,这一简单却富有象征意义的例子,成为了后续无数程序设计教材的开篇之作。 - **内容特色**:该书以简洁精炼的风格,全面覆盖了...
体会:这里打包了作为一个C++程序员必读的经典书籍,工作多年,这些被翻得斑驳的书籍依然带在我手边;里面资料全是英文版的,不懂英文的就别浪费积分了,希望对新手,老手有用!
本资源"《C++程序员必读常用面试题》"包含了面试中常见的问题和解答,旨在帮助C++开发者准备面试,提升技能。 1. **基础语法**:C++的基础语法包括变量声明、数据类型(如int、float、char、bool)、运算符(算术、...
《C++程序员必读:C++编程思想》一书涵盖了C++编程的多个核心概念,是C++开发者的重要参考资料。以下是对这些知识点的详细解读: 1. **对象演化**:在C++中,对象演化指的是类及其对象在设计和实现过程中如何发展和...
个人整理的c++程序员各阶段应该读的书籍 包括effective c++, more effective c++, thinking in c++, exceptional c++, more exceptional c++, c++语言的设计和演化,深度探索c++对象模型
高质量C/C++编程指南,作为一个c++程序员必读的书。
面向对象设计程序员必读,c++初学者适合一看,各有启迪
程序员必读经典电子书收集 包括设计模式 C++ 算法等等
介绍了所有学习c++的好书,想成为c++高手必须看的书。
【标题】"程序员必读index程序员必读indexv"似乎是一个关于程序员阅读推荐的资源集合,其中可能包含了一系列与编程、软件开发和技术趋势相关的文章、书籍或教程索引。这样的资源通常旨在帮助程序员提升技能、了解...
本文旨在基于提供的“资深程序员必读书目”信息,详细解析每一本书的重要性和适用场景,帮助读者更好地理解并利用这些资源。 #### 1. **Code:The Hidden Language of Computer Hardware and Software**(《编码的...
- **《Effective C++》和《More Effective C++》** by Scott Meyers:这两本书对于任何C++程序员来说都是必读书籍。 - **《The Elements of Style》** by Strunk and White:这本书虽然不是专门针对编程,但它对于...
1. **基础语法**:Java的基础语法与C++类似,但更加强调安全性和简洁性。它引入了垃圾回收机制,避免了内存管理的问题,同时提供了自动类型转换和异常处理机制。 2. **面向对象**:Java的核心特性是面向对象,它...