2015年/03月/08日
简约与写作
文章论述为什么go语言是一个面向简约编程的语言
Any why is this ? Why do so many language, launched with sincere, idealistic goals, fall afoul of their own self inflicted complexity ?
One reason, one major reason, I believe, is that to be thought successful, a language should somehow include all the popular features of its predecessors.
很多语言的复杂原因是想包含太多的历史发明特征
Language design is about trade-offs; you cannot have your cake and eat it too. So I challenge the notion that every mainstream language must be a super-set of those it seeks to replace.
语言设计是关于权衡的,我质疑这个观点:主流语言必须是替代目标的超集
Go is a language that chooses to be simple, and it does so by choosing to not include many features that other programming languages have accustomed their users to believing are essential.
So the subtext of this thesis would be; what makes Go successful is what has been left out of the language, just as much as what has been included.
Or as Rob Pike puts it “less is exponentially more”.