近几天读完了 Bjarne Stroustrup 的 HOPL4 论文 Thriving in a Crowded and Changing World: C++ 2006–2020[1] 经由 Boolan 组织翻译的中文版,相关文本内容托管在 GitHub 上,在线阅读[2]。
不谈其中具体的技术细节,我从 Bjarne 反思 C++ 作为一门编程语言在几十年来如何发展,遇到的问题以及未来的方向的考虑的过程中得到了不少启发,这里做个转述和简短的评论。
目标与原则
一门编程语言也好,一个开源项目也好,要想获得长久的生命力,无一不是面向真实的用户问题,形成自己的一套解决方法和原则,并长期坚持予以贯彻。C++ 的发展在 Bjarne 的眼中即是如此。
C++ 作为一门通用编程语言,能够纳入其所要解决的问题涵盖的范围相当广泛。甚至可以说任何需求都可以是 C++ 的需求。在这样的背景下,Bjarne 还是给出了应该避免的错误关注点,指出哪些类型的需求是可疑的。对于一个雄心勃勃的新项目来说,将所有需求都纳入自己的范畴之内无疑是极具诱惑的,但是知道自己不做什么,才是让这个项目脚踏实地真正解决问题的第一步。
Bjarne 总结了 C++ 发展过程当中的教训,包括了一些错误的关注点
•只为专家服务。某个功能从开始的时候就要满足所有专家的需要。•模仿。我