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