1

有些东西我在任何编程语言中都从未见过,我会知道为什么。我相信这些东西可能有用。嗯,也许当你指出时解释会很明显。但我们走吧。

为什么10²语法无效?有时,我们希望使用这样的符号(就像在论文中一样)而不是预先计算的值(有时,是一个很大的数字,而且,第一次看到时会有些困难,我相信这是目的_ 在 D 和 Java 编程语言中)或仍然为此调用数学函数。当然,我是说编译器将此变量的值替换为计算值,不要在运行时将其保留。

-在标识符中为什么 - 像 _ 一样不可接受?(只是 lisp 方言)对我来说,int name-size = 14;并不意味着不可读。或者这个“限制”是计算机字符集的属性?

当有人回答我的问题时,我会很高兴。另外,如果您有其他要问的指针,只需编辑我的答案并在其版本上发布注释或作为评论发布。

4

2 回答 2

6

好的,所以你给出的两个具体问题:

  1. 10 2 - 你希望如何输入这个?除了标识符,编程语言倾向于坚持使用 ASCII。请注意,您可以double x = 10e2;在 Java 和 C# 中使用...但该表单e仅对浮点文字有效,对整数无效。

    正如评论中所指出的,某些语言支持- 但我怀疑它只是被认为不够有用,不值得在大多数情况下增加额外的复杂性。

  2. 带有 in的标识符-会在带有中缀运算符的语言中导致明显的歧义:

    int x = 10;
    int y = 4;
    int x-y = 3;
    int z = x-y;
    

    z等于 3(x-y变量的值)还是等于 6(减去的yx)?显然,您可以想出关于会发生什么的规则,但是通过-从标识符中的有效字符列表中删除,可以消除这种歧义。使用_或仅使用大小写 ( nameSize) 比在语言中提供额外规则更简单。无论如何,你会在哪里停下来?.作为标识符的一部分,或者+

一般来说,您应该意识到语言很容易受到太多特性的影响。尤其是 C# 团队对于将新功能纳入语言的门槛非常开放。每个新功能都必须经过设计、指定、实现、测试、记录,然后开发人员必须了解它才能理解使用它的代码。这并不便宜,所以优秀的语言设计者自然是保守的。

于 2012-12-22T16:56:31.333 回答
1

可以做到吗?

2.⁷</p>

1.617 * 10.ⁿ(13)

显然是的。您可以修改诸如 ruby​​ 之类的语言(定义 utf-8 命名函数和猴子补丁数字类)或在 C++ 中创建用户定义的文字以实现额外的表现力。

应该这样做吗?

您将如何输入这些字符?

你会使用哪个 unicode 来表示欧拉常数?U+2107 ?

我想说我们坚持我们可以输入并同意的代码。

于 2012-12-22T17:53:41.167 回答