这篇文字的针对目标是,微软平台下的c/c++程序员,学过计算机基础学科,有一定的英语阅读能力。建议购买的顺序也是从上至下。
建议大家阅读的第一本书是《编码的奥秘》(英文名《code》),豆瓣链接http://www.douban.com/subject /
1024570/,这本书中文版应该已经绝版了,但好像有英文影印版。这本书没有讲该如何编程,如何写一个hello world。它深入浅出的介绍了
计算机是如何组成的,比如二进制,比如逻辑门电路的实现,都是很浅显的。看了这本书,会对计算机有个知其所以然的了解,也就是机器如何实现的一加一等于
二,如何能执行程序。《编码的奥秘》是计算机专业或者是初中高中对计算机感兴趣学生,应该一上学就读的一本书。
第二本也是建议大家看到了立刻买下来,保证物有所值,就是《程序设计实践》(英文名The Practice of Programming),豆瓣链
接http://www.douban.com/subject/1173548/。有了这本书,基本上《代码大全》、《程序员修炼之道》这几本后面推
荐的书可以不买了,因为精华基本上都浓缩到这本书里面,当然,不同的作者写出来的还是不一样,如果有钱,还是都买了最好。《程序设计实践》的两位作者
Brian W.Kernigham / Rob Pike,在计算机领域,就是大师级的人物,高山仰止,写出如此通俗易懂的计算机工程实践书,让我还
能说什么仰慕的话啊。你不知道他们是谁?去搜wiki 吧。里面每一章节都非常经典,甚至每章后面推荐延伸阅读的书籍,都是经典中的经典。一定要慢慢读
反复读,如果这本书看完了以后,基本上就是一个计算机中级编程水平了。
第三本书比较难选择一些,还是推荐这本好了《The C Programming Language 2nd Ed》,豆瓣链接http://
www.douban.com/subject/1230004/。也就是传说中的K&R,如果你是一个计算机专业的学生,还没有这本书,那你在学校里学了什么就很值得怀疑。这本书272页,每页都很经典,基本上你碰到的所有c语言问题在这本薄薄的小书里都有涉及,但是限于篇幅,有些会简单带过。里面代码例子不多,但还是包含了一个相当完整的语法分析器程序。不多说了,如果没有这本书,赶快去买吧。
现在大部分企业使用的是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++更有价值。
第五本书,我选择了《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的大而全思想有着本质上的不同。
有空再给大家写剩下的五本书。
lookgirl 写道:
--
-------
LIU, Gavinen
#end
这本书不如换成 CSAPP,这个不论是深度还是广度都要好很多,尤其是广度。
CSAPP 主页:http://csapp.cs.cmu.edu/
> 第二本也是建议大家看到了立刻买下来,保证物有所值,就是《程序设计实践》(英文名The Practice of Programming),豆瓣链
> 接http://www.douban.com/subject/1173548/。有了这本书,基本上《代码大全》、《程序员修炼之道》这几本后面推
> 荐的书可以不买了,因为精华基本上都浓缩到这本书里面,当然,不同的作者写出来的还是不一样,如果有钱,还是都买了最好。《程序设计实践》的两位作者
> Brian W.Kernigham / Rob Pike,在计算机领域,就是大师级的人物,高山仰止,写出如此通俗易懂的计算机工程实践书,让我还
> 能说什么仰慕的话啊。你不知道他们是谁?去搜wiki 吧。里面每一章节都非常经典,甚至每章后面推荐延伸阅读的书籍,都是经典中的经典。一定要慢慢读
> 反复读,如果这本书看完了以后,基本上就是一个计算机中级编程水平了。
>
这个确实是经典,我也会推荐给每一个(C)程序员。但要说把它读完了,即使是认真读完了就能达到一个什么水平,恐怕未必。
编程是个系统工程,涉及许多东西,还需要大量实践,光看书是不够的。当然,不看书就更不够了 :-D
lee
Lee Duhem 写道:
--
-------
LIU, Gavinen
#end
不知二、四两本书 裘宗燕 先生翻译得如何?
On 1月25日, 下午6时35分, pongba <pon...@gmail.com> wrote:
> 恩,推荐的书还是挺靠谱的,对新手来说看对书非常重要,可以少走很多弯路。
>
> 2009/1/24 lookgirl <sag...@gmail.com>
>
>
>
>
>
> > 这个题目大的有些离谱,实话说,只是想推荐一下自己觉得很好、值得收藏的一些技术方面的图书。如果不是程序员,或者关心的方向是网页开发、数据库开发,
> > 或者只是想了解一下开发流程,这些书不都是适合你,但也很值得收藏了。
>
> > 这篇文字的针对目标是,微软平台下的c/c++程序员,学过计算机基础学科,有一定的英语阅读能力。建议购买的顺序也是从上至下。
>
> > 建议大家阅读的第一本书是《编码的奥秘》(英文名《code》),豆瓣链接http://www.douban.com/subject/
> > 1024570/,这本书中文版应该已经绝版了,但好像有英文影印版。这本书没有讲该如何编程,如何写一个hello world。它深入浅出的介绍了
> > 计算机是如何组成的,比如二进制,比如逻辑门电路的实现,都是很浅显的。看了这本书,会对计算机有个知其所以然的了解,也就是机器如何实现的一加一等于
> > 二,如何能执行程序。《编码的奥秘》是计算机专业或者是初中高中对计算机感兴趣学生,应该一上学就读的一本书。
>
> > 第二本也是建议大家看到了立刻买下来,保证物有所值,就是《程序设计实践》(英文名The Practice of Programming),豆瓣链
> > 接http://www.douban.com/subject/1173548/。<http://www.douban.com/subject/1173548/%E3%80%82>
> > 有了这本书,基本上《代码大全》、《程序员修炼之道》这几本后面推
> > 荐的书可以不买了,因为精华基本上都浓缩到这本书里面,当然,不同的作者写出来的还是不一样,如果有钱,还是都买了最好。《程序设计实践》的两位作者
> > Brian W.Kernigham / Rob Pike,在计算机领域,就是大师级的人物,高山仰止,写出如此通俗易懂的计算机工程实践书,让我还
> > 能说什么仰慕的话啊。你不知道他们是谁?去搜wiki 吧。里面每一章节都非常经典,甚至每章后面推荐延伸阅读的书籍,都是经典中的经典。一定要慢慢读
> > 反复读,如果这本书看完了以后,基本上就是一个计算机中级编程水平了。
>
> > 第三本书比较难选择一些,还是推荐这本好了《The C Programming Language 2nd Ed》,豆瓣链接http://
> >www.douban.com/subject/1230004/。<http://www.douban.com/subject/1230004/%E3%80%82>
> > 也就是传说中的K&R,如果你是一个计算机专业的学生,还没有这本书,那你在学校里学了什么就很值得怀疑。这本书272页,每页都很经典,基本上你碰到的所有c-语言问题在这本薄薄的小书里都有涉及,但是限于篇幅,有些会简单带过。里面代码例子不多,但还是包含了一个相当完整的语法分析器程序。不多说了,如果没有这本书-,赶快去买吧。
>
> > 现在大部分企业使用的是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++更有价值。
>
> > 第五本书,我选择了《unix编程艺术》,它击败了《代码大全》《c专家编程》等诸多经典占据了这个位置,主要也是占了unix操作系统的光。豆瓣链接
> >http://www.douban.com/subject/1467587/。<http://www.douban.com/subject/1467587/%E3%80%82>
> > 之所以选择这本书,是因为对于一个windows平台上的程序员来说,尽量开阔眼界是非常必须的事情。我们经常说混血或者说杂交会让基因更加优秀,编程也是如此-,windows平台的程序员,如果只懂mfc,只会注册表保存配置,只知道COM或者DotNet,是一件非常悲哀的事情,用成语来说就是井底之蛙坐井观天,-只认为天就是这么大一片,编程就应该用这些东西。
> > unix操作系统虽然不像windows占据了桌面平台,但是在其他方面,使用非常广泛,比如苹果的mac osx系统,比如sun的solaris,
> > 比如继承了unix精神的linux。尤其在当今桌面系统网络化的潮流下,unix系统天生的网络特性、多用户管理特性、安全特性,更是体现了超越时代
> > 的杰出思想。读一读这本书,体验一下不同的设计理念和不同的操作系统哲学,对于日常的编程工作都有非常大的帮助。 Windows程序员尤其要学习的
> > 是:unix系统上script的使用,使用纯文本作为数据格式,使用管道,最最重要的一点就是,Keep it simple and
> > stupid,一个程序只做一件事,只需要把这件事做到完美。这与windows的大而全思想有着本质上的不同。
>
> > 有空再给大家写剩下的五本书。
>
> --
> 刘未鹏(pongba)
> Blog|C++的罗浮宫http://blog.csdn.net/pongba
> TopLanguagehttp://groups.google.com/group/pongba- 隐藏被引用文字 -
>
> - 显示引用的文字 -
就我个人来说,愿意推荐一些更通用、(除了c++)其他程序员也可以读下去的书,
另外herb sutter的书感觉很深,实用价值却是不大,包括那本c++代码标准,都是过于吹捧了。
个人感觉,除非是想精通c++,这些书看起来相对艰涩一些。
但是真的要读这些书才能写c++么,我觉得c++有些特性对于一般程序员来说,基本上是没什么意义的,
对于编程语言的发展趋势,我的观点是,有大公司而不是社区推动,才会有比较好的发展。
所以看好python(google),php(yahoo)以及java(ibm,google,sun),c++(ms,google),
但是obj-c还有ruby,前景有些不明朗,而c#,因为对企业软件不太了解,不好说。
在 09-1-30,居振梁<juzhe...@gmail.com> 写道:
--
从我的移动设备发送