来自 Rob Pike 关于 Go 的设计心得的演讲：

You have to pick the right feature set, not just features for feature sake. The way I like to think of it is to think the entire world of programming as a vector space of very high dimension, and what you want to do is to define the basis set that covers that vector space, so that you can write the program you want by combining the appropriate orthogonal set of features. When you add features for expressiveness or for fun, you are actually adding more non-basis vectors into that space, and so there become many paths to get to a particular solution.

把所有的程序想象成一个向量空间是很有意思的想法，在这种设定下，最好的编程语言并不需要拥有最多特性，而应该拥有必要的，正交的特性，这样的语言能够构成整个程序空间的基底。

向量空间的类比让我想到维特根斯坦所说的 “你的言语所达，即你的世界所抵”。