C风格类型注释与其他

时间:2013-10-13 13:09:56

标签: c types static-typing type-annotation

因此,在我的编程经验中,我遇到了两种类型的静态类型语言注释:我称它们为“之前”和“之后”。 C风格语言使用格式

int i = 5

虽然大多数非c系列语言都使用格式

var c:int = 5

前一类的例子是C,C ++,Java;后一类的例子是Scala,Haxe,Go。

这似乎有点肤浅,但我的问题是:每种风格的优点是什么?为什么用一个而不是另一个?为什么C首先采用那种风格?

1 个答案:

答案 0 :(得分:1)

机器并不关心 - 只是设计某些语言的人认为某些类型的语法比其他语言更好或更容易阅读。现代编译器通常有几个处理阶段,几乎所有这些语法差异通常在第一阶段之后丢失,它解析文本并转换为编译器内部结构(AST - 抽象语法树)。

有一些历史优先权,例如“前缀”与“中缀”与“后缀”符号(http://en.wikipedia.org/wiki/Polish_notationhttp://en.wikipedia.org/wiki/Infix_notationhttp://en.wikipedia.org/wiki/Reverse_Polish_notation)在计算机工程历史的上下文中用于边缘情况 - 例如“中缀”符号通常比后缀/ RPN表示法更难解析并且需要更多内存,因此在资源非常稀缺(内存的几KiB或更少)的情况下不使用它,但是大多数这些原因现在已经过时,因为硬件是足够强大。

今天,在设计一种语言时,这种语法细节的选择受到试图使语言类似于已有程序员的其他流行语言或语言组的影响,以避免制作“来自火星的语言” “很少有人会使用。

tl; dr:取决于创建该语言的人以及他更具可读性或“正确的事情”的内容。)