我今天开始关注即将到来的C++0x specification,我开始思考什么是适合语言词汇量的大小。最初,让我感到非常烦恼的是引入了新的关键字。在一些粗略的层面上,我认为语言中关键词的数量是对其复杂性的估计。也就是说,在C ++的情况下,添加新的构造会使得掌握语言变得更加困难。这就是为什么K& R书比C ++等同的小得多的一个原因。
之后,我想到了自然语言,它的词汇量随着时间的推移呈线性增长,无论语言如何(*)。当然,唯一的例外是Newspeak,其中说了很多。在这种情况下,词汇量大小与语言的表达能力有关。然而,在编程语言中,你可以拥有词汇量较小的非常富有表现力的语言(即Lisp)。
所以,这句话是一个问题,在您看来,语言词汇应该是什么 - 大而冗长或小而简洁?
答案 0 :(得分:5)
语言词汇应该有多大 是
<强> 42 强>
答案 1 :(得分:2)
我不相信这里有一个真正的答案。我的偏好较小,但我无法量化真正的小。我更愿意看到一组精简的操作员,他们没有冗余。就像在C#中一样烦恼我。它们的功能太接近了。 If和除非在许多语言中都是相同的方式。一个可以很容易地从另一个构建。
我是Lisp的忠实粉丝,它很小,但即使存在语法糖(比如'而不是引用)。
答案 2 :(得分:1)
我喜欢小语言,有明确的扩展方式。
(有人维基)
答案 3 :(得分:1)
好吧,让我们比较两种语言 - C ++和Smalltalk
C ++ - 大量保留字,复杂语法,巨大标准文档
Smalltalk - 几乎没有保留字,非常简单的语法,微小的标准文档
现在看看这些语言的相对成功。我认为结论很明显 - 大是好的。
答案 4 :(得分:1)
我会说尽可能少的同时最大化功能。究竟在哪里划出consice和复杂性之间的界限是非常主观的。
答案 5 :(得分:1)
尽可能大,但不是更大?
无论如何,你的问题错过了一个明显的观点。在不使用大量关键字的情况下,语言可能非常复杂。例如,查看C ++中的static
关键字。它有什么,3,4个不同的含义?这是否使语言不如使用3或4个不同的关键词那么复杂?