我从未在任何编程语言中看到过一些东西,我知道为什么。我相信这些东西可能有用。如果你指出,也许解释会很明显。但是我们走了。
为什么10²,的语法无效? 有时,我们希望通过使用这样的符号来表达(就像在纸上一样)而不是预先计算的值(有时,这是一个很大的数字,并且,当第一次看到时,使一些困难,我相信它的目的是_在D和Java编程语言中)或仍然为此调用数学函数。当然,我要对编译器说这个变量的值替换为计算值,不要在运行时保留它。
标识符中的 - 。为什么 - 像我这样不能接受?(只是lisp方言),int name-size = 14;
并不意味着不可读。或者这个“限制”属于计算机的字符集?
答案 0 :(得分:6)
好的,你提出的两个具体问题是:
10 2 - 您希望如何输入?除了标识符之外,编程语言倾向于坚持使用ASCII。请注意,可以在Java和C#中使用double x = 10e2;
...但e
形式仅对浮点文字有效,而不是整数。
正如评论中所指出的那样,exponentiation is supported in some languages - 但我怀疑它在大多数情况下都不值得额外的复杂性。
带有-
的标识符会导致使用中缀运算符的语言明显不明确:
int x = 10;
int y = 4;
int x-y = 3;
int z = x-y;
z
是否等于3(x-y
变量的值)还是等于6(从y
减去x
的值)?显然,你可以提出关于会发生什么的规则,但是通过从标识符中的有效字符列表中删除-
,这种歧义就会被删除。使用_
或仅使用大小写(nameSize
)比在语言中提供额外规则更简单。无论如何,你会在哪里停下来? .
作为标识符的一部分,或+
?
通常,您应该知道语言可以轻松遭受太多功能。特别是C#团队对于使用新功能以使其成为语言的高度非常开放。必须设计,指定,实现,测试和记录每个新功能,然后开发人员必须了解它,如果他们要了解使用它的代码。这并不便宜,所以优秀的语言设计师自然是保守的。
答案 1 :(得分:1)
2.⁷
1.617 *10.ⁿ(13)
显然是的。您可以修改ruby(定义utf-8命名函数和猴子补丁数字类)或create User-defined literals in C++等语言以获得额外的表达能力。
应该这样做吗?
你会如何输入这些字符?
你会使用哪个unicode,例如,euler的常量? U+2107?
我会说我们坚持使用我们可以输入并同意的代码。