由C++书单说开来

  心血来潮,整理了一下学习C++应该读的书单,当然我并没有都读过, 权当作一个ToDo List吧。

书单

本书单暂不包含C语言相关书目,当然了想学好C++,C语言的经典图书也应该读一读。

书名 作者 备注
The C++ Programing Language Bjarne Stroustrup C++之父的TCPL
C++ Primer Plus Stephen Prata
C++ Primer Stanley B. Lippman
Inside The C++ Object Model Stanley B. Lippman 《深入探索C++对象模型》
Effective C++ Scott Meyers
More Effective C++ Scott Meyers
Effective STL Scott Meyers
Modern C++ Design Andrei Alexandrescu 《C++设计新思维》
Think in C++ Bruce Eckel 《C++编程思想》

下面开始扯淡

说开来

《C++ Primer》PK《C++ Primer Plus》

  初见这两本书,你肯定认为后者是前者的续作,很多人也误以为“primer”是入门,而“primer plus”是进阶。确实从名称上来说,很容易给初学者以误导。实际上这两本书的作者是不同的,分别是Stanley B. LippmanStephen Prata。所以说“primer plus”并非“primer”的续作。

  另外多说一句,从风评来看,《C++ Primer Plus》更适合C++入门,而《C++ Primer》才是学习C++的进阶之作。

  此外呢,“primer”的作者Stanley也是书单中《Inside The C++ Object Model》(译:深入探索C++对象模型)的作者,此外他还写了一本非著名经典《Essential C++》,不过这本书貌似毁誉参半。另一方面呢,《C++ Primer Plus》的作者Stephen Prata也是C语言经典图书《C Primer Plus》的作者。

Scott Meyers与Effective系列

  Effective系列的三本书籍的知名度在程序界丝毫不亚于两本primer。作者Scott在十年时间内不紧不慢地向世界C++程序员(或编程图书界)交出了三份满意而出色的答卷。

  除了书籍本身的优秀质量外,作者本身关于著书的态度之严谨也值得我们尊敬。通过《Effective STL》一书的序言可以看出,作者很早就有了写STL书籍的想法,但是这一想法忍了好几年,他自己坦言期初自己对STL并不熟悉,程序库的不完善,还有编译器对模板的支持有限。一只多了许多年以后,条件充分的时候他才动笔。这一切既是对自己负责,也是对读者负责。Scott的严谨态度从中可见一斑。

  书单上还有一本《Modern C++ Design》(译:C++设计新思维),亮点是讨论了智能指针和设计模式。看读者评论最多的一句就是奇技淫巧过多,但从某个角度也拓展了读者思维。总之也有点毁誉参半的味道。Scott也为此书作序,期初看这个序的时候,我就以为看错书了,开头几句怎么和《Effective STL》差不多。都是表达了自己想写关于模板/STL的内容,但是由于种种原因没能实现。这个序是2000年写的,在一年以后Scott出版了自己的书籍《Effective STL》。

Bruce Eckel的编程思想

  Bruce Eckel著有两大明著《Think in C++》、《Think in Java》,通常译作《C++编程思想》和《Java编程思想》。以《Java编程思想》横行天下,基本上是Java程序员无人不知。

  《C++编程思想》涉及到底层概念偏多,有时会深入到编译器甚至汇编语言的级别。

  Bruce的《Java编程思想》一书卖的最好,在其序中Bruce也描述了自己从C++到Java的学习经历。OK,很多人好像就误以为Bruce抛弃C++,从此热捧Java了。其实不是的,Bruce是C++标准委员会的成员,参与标准制定。尽管《Java编程思想》一版再版,但他也曾表达对Java语言以及Java之父Gosling的不满。当然了,这不应该是我们所关心的:-)

英雄与时势

  书单上这些书最初的版本基本上都是出自上个世纪90年代,我想那一定是一个风云变幻的年代,同时也是英雄辈出的年代。

  就像拿破仑与法国大革命,如果没有拿破仑,是否会有法国大革命。同样的,在那样的历史背景下,如果没有这个拿破仑,是不是还会出现另外一个“拿破仑”。

  就像这些大师们(包括但不限于经典图书的作者)一样,是他们的努力传播了知识,为世界程序员进行了启蒙。当然编程语言并不因这几位作者而存在,也不因这几位作者而消亡。试想一下,如果那个年代这些大师们都不曾存在,是否其他人也能写出类似的经典呢?这个答案,我不知道。历史没有如果,不容假设

跑题

  纵观书单,以及我对图书作者的简介,可以看出:**许多你读过(或者想读)的经典书籍(各个语言),其作者有时竟是同一人**。

  Scott的Effective系列自不必多说,当我发现《深入理解C++对象模型》的作者和《C++ primer》的作者是一个人的时候,当我发现Stephen不仅写了《C++ primer plus》,还写了《C primer plus》(曾经枕边书)的时候,当我学Java的时候看了《Java编程思想》,后来深入学习C++的时候,下载了《C++编程思想》,比较了一下,作者都是Bruce。

  这时,我会有一种小时候发现《射雕》、《倚天屠龙》……《鹿鼎记》竟出自一个人的手笔的时候的惊奇感觉。

当然,你可能笑我,觉得这几本书你只看书名,就知道是一个人写的了,然而Java和JavaScript却并不这样认为。

  说到这里,不得不让我联想到一个人: W. Ricahrd Stevens。 Unix/Linux程序员应该都读过/听说过他的编程经典《APUE》和《UNP》两卷本。这两本书(或者说三本书)对Unix/Linux程序员来讲就像丐帮的打狗棒和降龙十八掌了吧。

  此外,曾经让我惊奇地是,Stevens老先生竟然还是《TCP/IP协议详解》(三卷本)的作者,我惊呆了。不过老先生在1999年因为意外事故阖然长逝,还不到50岁,真是计算机界一大损失。

  最后缅怀一下Stevens先生。

  然后对各位说一句:哦,对不起,跑题了。

时间: 2024-10-25 08:50:12

由C++书单说开来的相关文章

阿里大神favoorr提供的书单

Thoughtwoks中国的推荐书单 <http://www.douban.com/doulist/2012097/ > 新浪微博-秦迪 <http://blog.2baxb.me/reading_list> 江南白衣书单 <http://calvin1978.blogcn.com/articles/bookshelf.html> 小土刀书单 <http://wdxtub.com/booklist/> gongpeng 书单 <http://zh.lu

我的2016书单以及为2017年准备的书单

看见博客园不少博友都在晒书单,我也想梳理下自己2016年读了哪些书.这些书大多都是在手机上读的,电子书确实比纸质书要方便许多.写下这些东西给自己做个记录,回顾下2016,展望下2017. 2016年读了不少文学作品,技术类的作品看的比较少,汗- 2016回顾 技术类的: <php核心技术与最佳实践>,一本很好的php程序员进阶书籍,2016年看了一部分,2017年还要继续看. <深入php:面向对象.模式与实践>,自己买了一本,但翻了翻感觉自己看这本书还有点儿早,我现在好像还不适合

2016年书单分享

自认为还算一个喜欢读书的人,但之前读书比较随意,基本局限在计算机方面.概括讲就是有读书的习惯,但也是可有可无.2015年在Facebook关注了扎克伯格的"A year of books"主页,正是受这个活动的影响,决定2016年也能做到一月一本书. "A year of books"主页 今天是2016年的最后一天,不妨借这个机会,推荐几本今年读过的好书,顺便分享一下心得体会兼实用工具,以及对来年的一个小小规划,也算是一个年总结了. Peter Hessler的中

程序员必读书单(转)

作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://lucida.me/blog/developer-reading-list/ 关于 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读.旨在成为最好最全面的程序员必读书单. 前言 Reading makes a full man; conference a ready man; and writing an exact man.

机器学习入门的书单(数据挖掘、模式识别等一样)

(写在前面)昨天说写个机器学习书单,那今天就写一个吧.这个书单主要是入门用的,很基础,适合大二.大三的孩子们看看:当然你要是大四或者大四以上没看过机器学习也适用.无论是研究智能还是做其他事情,机器学习都是必须的.你看GFW都用机器学习了,咱是不是也得科普一下. (全文结构)其实,我想了想,学一门学科,列出一堆书,评论来评论去的,其实对初学者用处不大:他都不知道这些是啥,你就开始一顿评论,只能空留一堆冷线而已.那我就首先说说机器学习都是干些啥的?它有哪些基本内容吧. (这货是干啥的?)机器学习,也

我的GTD中收集的书单

在几年的GTD过程中,收集了一些想读的书目,没有系统地整理,每当读完一本之后,就翻翻书单,寻找下一本感兴趣的书,书是不可能读完的,只能找有兴趣的.符合自己目标方向的.有些书记录了豆瓣上的评分,虽然不是很准,但可作为选书的一项参考吧. 谁如果强烈推荐哪本书,请把书名加条评注吧. 穷爸爸富爸爸 影响力 科技需要什么 李鸿章传 希特勒传 走出思维的误区,8.6  副标题: 批判性思维指南(修订第9版) 钱不要存银行,胜间和代 瓦尔登湖,8.5 学习之道,8.5 Founders at Work 改写生

[Z]修炼成C++高手必看的C++书单

增添于网上的一些书单: C++/OPP/OOD系列: 层级一:语法/语意(C++)[Lippman2000] Essential C++ Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages Essential C++ 中文版 ,侯俊杰 译,282页 Desc: 这本书概要性的介绍了C++核心的东西,但讲得较浅显,适合刚入门的人阅读. [Andrew Koeing & Barbara MOO] Acce

Java工程师的终极书单

本份Java工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载. 坚持阅读好书是学习Java技术的好方式.但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这些质量参差不齐的众多书中选择出优秀的书籍就成为了Java程序员面对的第一个问题.同时,每个Java程序员的技术水平和知识结构往往差异很大,这导致不同的Java程序员阅读同一本技术书的体验与感受又截然不同. 针对前面提到的Java程序员面对如何选择优秀书籍的两个主要问题,笔者结合自身的阅读Java书籍

二月书单(1/25 update)

目标: 三个一:一部小说,一本散文集,一本英文书:平均10天看完一本,能讲出中心思想: 书单: 1) 我与地坛,史铁生 2) 少有人走的路1:心智成熟的旅程,斯科特?派克 3) Brave New World, Novel by Aldous Huxley 日志: 1/25: Brave New World, Chapter 1 书评: 我与地坛 史铁生 该书总共分为三部分.第一部分写自己在地坛中得到的生命启迪和人生的感悟:第二部分写自己对母亲的后悔和无尽的思念:第三部分写自己与地坛不可分割的情