比 C++ 更好玩的玩具
2013-10-09
早有迹象表明, Andrei Alexandrescu 先生迟早要从 C++ 社区跳槽到 D 社区的. 想来几年前那次他在上海开 C++ 会议, 主讲的就是 D 语言.
那次他还有另一个议题他讲的利用 C++ 模板来实现契约式编程, 当时我提了个问题是目前 C++ 编译器怎么实现的了这个东西, 记得他回答的也很无奈.
总之, C++ 是被 Andrei Alexandrescu 玩过头了, 转去门新语言也是自然的事情. 终于可以把那么多奇葩的特性都变成现实了. 这本书就是对这些在 C++ 中无法优雅(且兼顾性能)实现的东西如何在一门新语言中展现出来的最好诠释.
编译时计算, 代码模板, 契约式编程, 并行运算, 都是好东西。它们为何存在, 如何呈现,书中都有不厌其烦的解释. 我无法给 D 语言打满五星, 但这本书给我带来的愉悦感, 绝对值得五星评价了。
ps. 我个人认为,closure 和 gc 这两项现代语言都应该具备的特性才是 D 语言对 C 语言最大的补充。