与侯捷老师(的书)的两次邂逅

也许你没有听说过侯捷老师,没关系,在此之前,我也没有了解过。经过两次无意中与侯捷老师写的书的邂逅,这个名字已经开始深深地印在了我的脑海中。大概,侯捷老师也会是一个像贺利坚老师,Barbara Oakley 教授一样,影响着我未来的人生轨迹的人呢。

今年的上半年有一段时间我在做一个用 VBA 自动化处理 Office 文档的项目,当时为了弄明白 Word 和 Excel 的对象模型,还有 Word 的各种域(Field)的操作,翻阅了无数的 Office 文档,也开始对 MS Office 的文档模型产生了兴趣。平时的我常常与班里一直很仰慕的学霸 johnbanq 聊最近在搞的事情,五月的某一天,我们恰好提起了 Office 的对象模型的话题,学霸推荐了侯捷老师的《Word排版艺术》。

在豆瓣找到这本书,大致看了下书籍的目录,应该是我想要的,搜索发现学校也有这本书的馆藏。第二天去图书馆,在心爱的 TP 书库里找了好久,但是并没有找到它。在书库的前台登记了想要找的书和联系方式,一直没有下文,后来因为忙着准备期末考试,我也渐渐忘记了这回事儿。

两个月的暑假很快过去,我也开始了大三的生涯,前两周忙于社团的招新等事情,未踏入图书馆一步。某天无意中看到图书馆修改了借阅规则、放开学生的借阅数量限制的宣传,猛然想起,上学期有本 Word 什么的书一直没找到,要不趁晚上有空碰碰运气?

搜索了好久浏览器的历史记录,才找回这本书的全名,晚上来到图书馆,继续寻找。找了几分钟,不知道是不是最近 RP 爆发,我在外文书库后排的一个书架的最上层发现了它。

翻阅导读,看到“本书不受 Word 版本的限制”的提示,还有长长的简繁体术语的对照表,不禁感受到了这本书的内容的深度,还有这位来自台湾的作者的用心,再想想那充满艺术感的封面字体,决定把它带回来。

暑假的时候我在 0xFFFF 上写了不少计算机专业的入门建议的帖子,所以最近也有不少的师弟师妹问我计算机专业入门相关的问题。恰好也是在第二天,有个18级的师妹问我,她买了“明日科技”的《C语言从入门到精通》,这本书入门 C 语言怎么样呢。看到发来的封面各种xx个实例资源,xx个视频之类的花哨数据,第一反应,应该是一本挺辣鸡的中文教材吧。不过我之前并没看过,所以我也不敢这么断定。本着一种“亲身体验神奇的中文计算机教材”的心态,中午我来到了图书馆,在 TP 书库程序语言相关的书架上找到了这本神奇的书。

在书架旁找了个地儿坐下,花了半个小时扫了一遍《C语言从入门到精通》,大体上好像没有什么毛病,不过仔细看看,许多神奇的地方也逐一显现出来:2017出版的书,为啥编译器还是 Windows 98 年代的 VC++ 6.0 和 Turbo C;第一个C语言的示例代码的第一行为什么还有 Windows 下写 C++ 才会涉及到的 #include "stdafx.h";到了后面讲 Socket 编程,说是先写计算机网络基础知识,讲个 OSI 七层模型,扯两段 DNS 解析的介绍,然后就开始 C 语言的 Socket 的代码了?

看来我的直觉没有出错,整本书在内容的编排上,给人一种参考手册的感觉,但这参考手册也是拼拼凑凑,难怪为什么会被称作“C语言从入门到放弃”了。

把书塞回原位,抬头一看,一个熟悉的名字映入眼帘,侯捷,这是我第一次开始认真注意到这个名字。几本书并排一起,分别是 《Effective C++》还有《More Effective C++》的各个中文翻译版本。

photo_2018-10-03_23-26-11.jpg

取出《Effective C++》,翻开目录和导读,细细阅读,与刚刚看的《C语言从入门到精通》相比较,孰高孰低,可以说很明显了。

时间也不早了,赶着去上课,所以我也把它带了回来。

已有 9 条评论
  1. 哇(
    所以说要阅读啊,当然这里指读好书

    1. 我觉得多读才能知道好和坏吧,就像小时候学的小马过河一样~

    2. 现在都没什么时间读书了,基本全是散文集啊,想学习编程却一本书没买。

    3. 试着挤一挤,总会有的 :-D

  2. apache 有个叫 poi 的项目,就是操作 office 文档对象模型的,不过是用 java 搞的

    1. 也有看过一点点 poi,印象中 Python 也有蛮多这类型的库的,因为其中有些手动操作,最后还是觉得在 Office 用开发工具录制宏方便一些

    2. 跟 py 那些类库不是一个层面的, wps 的技术授权里就列出了 poi ,我们也曾经用 poi 去做多人实时文档预览和协作编辑,毫不夸张地说用 poi 可以写出另一个 wps 来。。所以我觉得研究文档对象模型的话也可以看看 poi 是怎么做的(逃

  3. 总感觉你的blog的服务器不是很稳定?(有时访问不了)

    1. 不清楚,可能是线路问题吧

添加新评论