从前我是 C++ 的死忠 fans,我在 csdn 的博客几乎完全以 C++ 为主题。但是在一家投资银行用 C++ 写了两年半极度复杂的程序之后,我开始深深厌倦于 C++ 的繁琐。尤其是当脚本语言甚嚣尘上,而其总体效率(包括开发和运行)往往高于 C++ 的今天。
后来我看到了 D 语言,尽管它还很不成熟,但是已经非常可爱。之前我只是把它当做语法更加 consistent 的 C++ 来看待,但是下面的程序给了我深刻的印象,让我意识到 D 在设计上的优越。
用 C++ 来做(如果能做的话),需要多少代码?
当然,从实现层面,它只是内置了更强的 RTTI,内置了 tuple,内置了 iterator。但这些设计表现了新的兼容哲学:和 C/C++ 保持语法和接口上的兼容,而不是强求源代码级别和内存模型的一致。这是一种新语言摆脱旧包袱,同时又取得工业成功的保证。