Language agnostic 一门语言的词汇量应该有多大?

Language agnostic 一门语言的词汇量应该有多大?,language-agnostic,Language Agnostic,我开始关注即将到来的今天,我开始思考语言词汇的正确大小。起初,新的关键词被引入让我感到非常恼火。在某种粗略的水平上,我认为一种语言中关键字的数量是对其复杂性的估计。也就是说,在C++的情况下,添加新的结构会使语言更难掌握。这就是为什么K& R书如此小,以至于C++等价的原因之一。 之后,我想到了自然语言,它的词汇量随着时间呈线性增长,与语言无关(*)。当然,唯一的例外是,这说明了很多。在这种情况下,词汇量与语言的表达能力有关 然而,在编程语言中,您可以使用词汇表较小的非常有表现力的语言(即Lis

我开始关注即将到来的今天,我开始思考语言词汇的正确大小。起初,新的关键词被引入让我感到非常恼火。在某种粗略的水平上,我认为一种语言中关键字的数量是对其复杂性的估计。也就是说,在C++的情况下,添加新的结构会使语言更难掌握。这就是为什么K& R书如此小,以至于C++等价的原因之一。 之后,我想到了自然语言,它的词汇量随着时间呈线性增长,与语言无关(*)。当然,唯一的例外是,这说明了很多。在这种情况下,词汇量与语言的表达能力有关

然而,在编程语言中,您可以使用词汇表较小的非常有表现力的语言(即Lisp)


那么,用这个短语来表达这是一个问题,在你看来,一种语言的词汇应该是什么——大而冗长,还是小而简洁?我不相信这里有一个真正的答案。小是我的偏好,但我无法量化小到底是什么。我更愿意看到一组精简的操作员,他们没有冗余。在C#中的这种“是”和“是”,让我很恼火。它们在功能上过于接近。如果和除非在许多语言中是相同的方式。一个可以很容易地从另一个构建


我是Lisp的忠实粉丝,Lisp非常简单,但即使存在语法上的糖分(比如“代替引号”)

我不相信这里有真正的答案。小是我的偏好,但我无法量化小到底是什么。我更愿意看到一组精简的操作员,他们没有冗余。在C#中的这种“是”和“是”,让我很恼火。它们在功能上过于接近。如果和除非在许多语言中是相同的方式。一个可以很容易地从另一个构建

我是Lisp的忠实粉丝,Lisp非常简单,但即使存在语法上的糖分(比如“代替引号”)

一门语言的词汇量应该有多大 是吗

42.

一门语言的词汇量应该有多大 是吗


42.我喜欢有明确扩展方式的小型语言


(有人在维基百科上这样做)

我喜欢有明确扩展方式的小型语言


<>(某人wiki)

< p>:让我们比较两种语言——C++和SimalTalk

  • C++大量保留字、复杂语法、庞大的标准文档

  • Smalltalk—几乎没有保留字,语法极其简单,标准文档非常小


现在看看这些语言的相对成功。我认为结论很明显,大得更好。

< P>,让我们比较两种语言——C++和SimalTalk

  • C++大量保留字、复杂语法、庞大的标准文档

  • Smalltalk—几乎没有保留字,语法极其简单,标准文档非常小


现在看看这些语言的相对成功。我认为结论是显而易见的——越大越好。

我要说的是,在最大限度地发挥功能的同时,尽量少。在一致性和复杂性之间的确切界限是非常主观的。

我要说的是,在最大限度地发挥功能的同时,尽量少。在一致性和复杂性之间的确切界限是非常主观的。

尽可能大,但不能更大


无论如何,你的问题没有抓住一个明显的要点。如果不使用大量关键字,语言可能会非常复杂。作为例子,在C++中查看<代码>静态< /代码>关键字。它有什么,3,4个不同的含义?这是否会使语言比使用3或4个不同关键字时更简单?

尽可能大,但不会更大


无论如何,你的问题没有抓住一个明显的要点。如果不使用大量关键字,语言可能会非常复杂。作为例子,在C++中查看<代码>静态< /代码>关键字。它有什么,3,4个不同的含义?这是否会使语言比使用3或4个不同的关键字时更简单?

LISP minimal?它定义了近1000个表单/函数!相比之下,R5RS方案有大约250个保留字,Lisp有18个保留字。然而,这并没有使它变得有用。如果是关于保留关键字的,Scheme没有:)
返回undef,除非$var
好,如果(!$var){returnundef;}
@Brad,我不相信。它更具可读性,但如果它使语言更复杂,那么这值得权衡吗?它不再富有表现力了。LISP minimal?它定义了近1000个表单/函数!相比之下,R5RS方案有大约250个保留字,Lisp有18个保留字。然而,这并没有使它变得有用。如果是关于保留关键字的,Scheme没有:)
返回undef,除非$var
好,如果(!$var){returnundef;}
@Brad,我不相信。它更具可读性,但如果它使语言更复杂,那么这值得权衡吗?它不再富有表现力了。你当然是对的。这就是为什么我说它充其量只是一个粗略的等价物。还有一个问题是计算标准库或核心语言,还有许多其他问题……大多数语言都有过多的含义——例如,C中的“*”符号至少有三个。你当然是对的。这就是为什么我说它充其量只是一个粗略的等价物。还有计算标准库或核心语言的问题,以及许多其他问题……大多数语言的含义过多——例如,C中的“*”符号至少有三个。相关性并不意味着因果关系。相关性并不意味着因果关系。