Programming languages 作为区分大小写的编程语言有什么优势吗?

Programming languages 作为区分大小写的编程语言有什么优势吗?,programming-languages,case-sensitive,Programming Languages,Case Sensitive,我个人不喜欢编程语言区分大小写 (我知道区分大小写的缺点现在每天都有好的IDE补充) 我仍然想知道,如果编程语言区分大小写,它是否有任何优势。许多流行语言的设计者为什么选择区分大小写 编辑:副本 编辑:(我不敢相信我几年前问过这个问题)它允许类/库的实现者控制代码中如何使用大小写。Case也可以用来表达意思。它允许类/库的实现者控制代码中如何使用Case。大小写也可以用来表达意思。代码看起来差不多。在基础教育的日子里,这些是相当的: PRINT MYVAR Print MyVar print m

我个人不喜欢编程语言区分大小写

(我知道区分大小写的缺点现在每天都有好的IDE补充)

我仍然想知道,如果编程语言区分大小写,它是否有任何优势。许多流行语言的设计者为什么选择区分大小写

编辑:副本


编辑:(我不敢相信我几年前问过这个问题)

它允许类/库的实现者控制代码中如何使用大小写。Case也可以用来表达意思。

它允许类/库的实现者控制代码中如何使用Case。大小写也可以用来表达意思。

代码看起来差不多。在基础教育的日子里,这些是相当的:

PRINT MYVAR
Print MyVar
print myvar

代码看起来更相似。在基础教育的日子里,这些是相当的:

PRINT MYVAR
Print MyVar
print myvar

区分大小写固有的解析速度更快(尽管只是稍微快一点),因为它可以直接比较字符序列,而无需找出哪些字符彼此等效。

区分大小写固有的解析速度更快(尽管只是稍微快一点)由于它可以直接比较字符序列,而无需找出哪些字符彼此等效。

通过类型检查,区分大小写可以防止拼写错误和无法识别的变量。我已经修复了代码中的错误,这是一种不区分大小写的非类型语言(FORTRAN77),其中零(0)和大写字母O在编辑器中看起来是一样的。该语言创建了一个新对象,因此输出有缺陷。如果使用区分大小写的类型化语言,就不会发生这种情况。

使用类型检查,区分大小写可以防止拼写错误和无法识别的变量。我已经修复了代码中的错误,这是一种不区分大小写的非类型语言(FORTRAN77),其中零(0)和大写字母O在编辑器中看起来是一样的。该语言创建了一个新对象,因此输出有缺陷。如果使用区分大小写的类型化语言,则不会发生这种情况。

这是首选。我更喜欢区分大小写,我发现这样读代码更容易。例如,变量名“myVariable”与“myVariable”、“myVariable”和“myVariable”具有不同的字型。这使得区分这两个标识符更容易一目了然。当然,您不应该或很少创建仅在大小写上不同的标识符。这更多的是关于一致性,而不是增加可能的标识符数量的明显“好处”。有些人认为这是一个缺点。我想不出任何时候,敏感度会给我带来任何问题。但同样,这是一种偏好。

这是一种偏好。我更喜欢区分大小写,我发现这样读代码更容易。例如,变量名“myVariable”与“myVariable”、“myVariable”和“myVariable”具有不同的字型。这使得区分这两个标识符更容易一目了然。当然,您不应该或很少创建仅在大小写上不同的标识符。这更多的是关于一致性,而不是增加可能的标识符数量的明显“好处”。有些人认为这是一个缺点。我想不出任何时候,敏感度会给我带来任何问题。但是,这也是一个首选项。

在编译器或解释器中,不区分大小写的语言必须使所有内容都大写或小写以测试匹配,或者使用不区分大小写的匹配工具,但这对编译器来说只是一小部分额外工作

另外,区分大小写的代码允许某些声明模式,例如


MyClassName MyClassName=新的MyClassName()


在编译器或解释器中,不区分大小写的语言必须使所有内容都大写或小写以测试匹配,或者使用不区分大小写的匹配工具,但这只是编译器的一小部分额外工作

另外,区分大小写的代码允许某些声明模式,例如


MyClassName MyClassName=新的MyClassName()


以及其他区分大小写的情况。

仅仅因为该语言不区分大小写,并不意味着你只需要将大写字母锁定。我想对一些人来说,这意味着就是这样。好吧,BASIC写了很多大写字母锁定;-)10打印“HELLO WORLD”20输入“您的姓名”,30美元打印“HELLO”,40美元转到10美元任何基本口译员自动将关键字转换为令牌,以节省RAM和解析。查看时,它们总是大写,因为该语言不区分大小写,但这并不意味着您只需将大写字母锁定。我认为对某些人来说,这意味着就是大写字母锁定。好吧,BASIC在编写时经常使用大写字母锁定;-)10打印“HELLO WORLD”20输入“您的姓名”,30美元打印“HELLO”,40美元转到10美元任何基本口译员自动将关键字转换为令牌,以节省RAM和解析。在查看时,这些都是大写的。实际上,您发现了动态类型语言的一个整体问题。混合“case”只是一种拼写错误,一个微不足道的例子。如果您有myVariable和myVaraible(第二个是“拼写错误”),那么您也不会得到任何帮助。但是,我当然同意实际上,您发现了动态类型语言作为一个整体的问题。混合“case”只是一种拼写错误,一个微不足道的例子。如果您有myVariable和myVaraible(第二个是“拼写错误”),那么您也不会得到任何帮助。但是,我当然同意MyClassName MyClassName=new MyClassName()一点也不好。这是一个陷阱,为初级开发人员等。是的,我知道花括号类型使用这样的惯例,但它会让我发疯!我会坚持德尔福的谢谢!MyClassName MyClassName=新MyClassName()为anyt