我个人不喜欢区分大小写的编程语言。
(我知道区分大小写的缺点现在由好的 IDE 补充)
我仍然想知道如果编程语言区分大小写,它是否有任何优势。许多流行语言的设计者选择区分大小写是否有任何理由?
编辑:(我不敢相信我几年前问过这个问题)
我个人不喜欢区分大小写的编程语言。
(我知道区分大小写的缺点现在由好的 IDE 补充)
我仍然想知道如果编程语言区分大小写,它是否有任何优势。许多流行语言的设计者选择区分大小写是否有任何理由?
编辑:(我不敢相信我几年前问过这个问题)
这是一种偏好。我更喜欢区分大小写,我发现以这种方式阅读代码更容易。例如,变量名称“myVariable”与“MyVariable”、“MYVARIABLE”和“myvariable”具有不同的字形。这使得区分这两个标识符一目了然。当然,您不应该或很少创建仅区分大小写的标识符。这更多是关于一致性,而不是增加可能的标识符数量的明显“好处”。有些人认为这是一个缺点。我想不出任何时候区分大小写会给我带来任何问题。但同样,这是一种偏好。
区分大小写本质上更快地解析(尽管只是稍微),因为它可以直接比较字符序列,而不必弄清楚哪些字符彼此等价。
它允许类/库的实现者控制在代码中如何使用大小写。大小写也可以用来表达意思。
代码看起来更相似。在 BASIC 时代,这些是等价的:
PRINT MYVAR
Print MyVar
print myvar
通过类型检查,区分大小写可以防止您出现拼写错误和无法识别的变量。我修复了不区分大小写、非类型化语言 (FORTRAN77) 的代码中的错误,其中零 (0) 和大写字母 O 在编辑器中看起来相同。该语言创建了一个新对象,因此输出存在缺陷。使用区分大小写的类型语言,就不会发生这种情况。
在编译器或解释器中,不区分大小写的语言将不得不将所有内容设置为大写或小写以测试匹配,或者使用不区分大小写的匹配工具,但这只是编译器的少量额外工作。
加上区分大小写的代码允许某些声明模式,例如
MyClassName myClassName = new MyClassName()
以及其他区分大小写的情况。