楼主:
descent (“雄辩是银,沉默是金”)
2016-04-26 18:14:36推荐书目名称或网址
C++程序设计原理与实践
http://www.books.com.tw/products/0010651205
适合阅读此书或网站的程度/对象
初学者
简介
c++ 发明人为了初学 c++ 的人写的书籍
读后心得
( https://goo.gl/bt37ka )
孟岩《C++程序设计原理与实践》 ( http://goo.gl/KOAjjV )这篇写的真不错,
希望我也能写出那样的文字。
这是台湾繁体中文的版本, 定价 990, 不过我买的是简体中文版本 -
C++程序设计原理与实践
。
为什么选择简体中文版本呢? 不单单是因为价钱的问题。
C++ 编程规范这本书一样有简体/繁体中文两个版本, 我花了 414 nt 买了这本薄薄的小
书, 而不是买 200 nt 的简体中文版本。侯捷翻译的版本让我愿意以较高的价钱购买 (我
甚至没去实体书店翻过书), 也相信碁峰制作书籍的品质。
( https://goo.gl/itUrAj )
那为什么这本我要买简体中文版本呢? 从价钱、厚度、书的品质上我做了这样的选择。
我虽然读过不少大部头书籍, 但还是对大部头书籍心生畏惧, 对于大部头书籍还是能免则
免。
价钱/厚度 (比较薄) 都是简体中文版本胜出 (108 rmb), 我实在没空间摆那么多大部头
书籍了。中国的电脑书都会做得很薄, 台湾的书则会想办法做的很厚, 书做的很厚大家都
知道为什么, 但做得很薄我就不清楚原因了。太厚或是太薄都不是好事, 两个极端真是令
人难以选择。
本书的英文版出了第二版, 支援了 c++11/c++14, 所以我买的这版并没有说明
c++11/c++14, 所以对这本有兴趣的朋友可以再等一下, 书商会出新的版本 (应该吧)。
还真的出了:
C++程式设计原理与实务 第二版(Programming Principles and Practice Using C++)
( http://goo.gl/2ravR4 )
本篇介绍的是我拥有的简体中文版本 (第一版)。
繁体中文有很多漏词的小错误, 译者胡嘉玺的翻译也算通顺, 不过有些翻译还是有点怪怪
的就是, 不过那些漏词的小错误让我很不舒服, 上奇的品质应该不会这样, 我有点失望,
定价 990 nt 的书应该要有 990 的严谨度 (其实就算是定价一元的书, 也应该要有相当
的严谨度), 这定价可不便宜, 不能因为书厚就定这价钱, 我是买书不是买纸。不过以整
体书籍的制作来说, 台湾的繁体中文版本还是比较好。
( https://goo.gl/nd7K3Y )简体中文版本是友人帮我从中国亚马逊代购回来,
2013/12/26 从中国亚马逊订购, 20140116 拿到, 价钱 108*5 + 75 = 615 nt
但是简体中文版本的附录得从这里下载, 没有印在书上:
http://www.hzbook.com/Books/5129.html#download ( http://goo.gl/jKpYTb )
这实在是欺负人, 怎么不全本让我下载就好。哦! 记得要先注册。
Bjarne Stroustrup 不愧为大师, 不仅研究做得好, 连教学也很有一套。这本书是给初学
者看的, 但我觉得里头很多主题不一定只对初学者有用。
chapter 6, 7 在谈如何写一个计算机, 你认为这很简单吗? 虽然几乎每个平台都会有计
算机, windows 的小计算机, linux 的 bc, 甚至连平版电脑都有计算机, 但要写出计算
机程式并不如想像中的容易, 基本上要靠自己想出来怎么写是很困难的。
一开始 Bjarne 会先用很直觉的方式来引导我们写出计算机, 慢慢的告知我们这样会有什
么问题, 在适当时机告知我们所谓的文法规则, 就是 compiler 课程上提到的 EBNF, 这
是 50 年来的努力, 所以我们突破不了, 也是很正常的。
它牵扯到 compiler 理论, 这个部份很难无师自通。不过 Bjarne 是搞 c++ compiler
的, 这种幼儿程度的计算机当然难不倒他, 但对一般人的我们就没那么简单了, 从这题目
用了两个章节来看就可以知道其难度。
chapter 12 ~ 16, 使用了 fltk 来介绍 GUI 程式设计, 这本书真是来得太慢, 比起圣
经 The C++ Programming Language 实在亲民许多。这些主题都是比较令人有兴趣的主
题, 不是只专注在 c++ 语言上。fltk 是一个跨平台的 framework, Bjarne 用它介绍了
许多 GUI 观念, 对我来说很是受用。
chapter 22 讲述一些电脑语言的历史, 可以使人耳聪目明, 有许多大师的照片, 很珍贵
的。我几乎就是因为这章而决定要买这本书。本章介绍了 fortran, cobol, lisp,
alogl60, pascal, ada, simula, c, c++。Dennis Ritchie 为 c 的发明人, 提过 c 是
强类型, 弱检查的语言, 这是什么意思? 不按照 type 定义的方式使用某个 type 是非法
的, 但是 c compiler 不会去检查它, 厄 ... 很奇怪吧!
ACM 讨论程式语言历史的相关会议资讯 ( http://goo.gl/MCTCB )
chapter 23 提到的 regular expression 在 c++11 已经是标准程式库的一部份了 (书上
使用的是 boost/regex.hpp), 放心的用他们吧! 这可让 c++ 处理文字的能力提升不少。
ref:
官网 (已经更新为第二版的资讯, 希望不久我们可以看到繁体中文版,
已经有了):
http://goo.gl/GpiblA ( http://www.stroustrup.com/programming.html )
书中范例:
http://goo.gl/qlSwj ( http://www.stroustrup.com/Programming/ )
补充说明(Supplement):