Programming languages 什么';区分大小写的语言比不区分大小写的语言有什么优势?

Programming languages 什么';区分大小写的语言比不区分大小写的语言有什么优势?,programming-languages,case-sensitive,case-insensitive,Programming Languages,Case Sensitive,Case Insensitive,我在Delphi中做了很多项目,它使用不区分大小写的语言Pascal,我想知道区分大小写的语言有什么优势。 Jason说“案例不敏感导致了很多歧义”。我不同意。如果您意识到该语言不区分大小写,您就会知道WHILE与WHILE的含义相同,即使您从未编写过前者。变量和函数相同;骆驼壳不错,但第一个字母是否也是大写字母?那么名称以下划线开头的函数呢?在不区分大小写的语言中没有问题:\u fooBar将与\u fooBar一样出色。那么杰森所指的歧义在哪里呢?是的,您可以用不同的方式编写变量,但其含义是

我在Delphi中做了很多项目,它使用不区分大小写的语言Pascal,我想知道区分大小写的语言有什么优势。
Jason说“案例不敏感导致了很多歧义”。我不同意。如果您意识到该语言不区分大小写,您就会知道
WHILE
WHILE
的含义相同,即使您从未编写过前者。变量和函数相同;骆驼壳不错,但第一个字母是否也是大写字母?那么名称以下划线开头的函数呢?在不区分大小写的语言中没有问题:
\u fooBar
将与
\u fooBar
一样出色。那么杰森所指的歧义在哪里呢?是的,您可以用不同的方式编写变量,但其含义是明确的<代码>FooBar=
FooBar

在同一个帖子中,Delnan说,
大写是“我必须帮助我叔叔杰克下马…”和“我必须帮助我叔叔杰克下马…”之间的区别。
。非常聪明:-)。但有一点是反对而不是赞成区分大小写的:你会接受你的代码因为一个大写错误而失控吗?同样,在不区分大小写的语言中,如果
Jack
是个人,那么
Jack
也是个人

问题:是否有人在区分大小写的语言中使用此功能,您可以通过不同的大小写定义两个不同的变量或函数?因为这是我能看到的唯一优势。当然,你会说,我用驼峰式大小写变量名,常量全大写。但在我看来,它们是不相容的
userName
作为变量是有意义的,但是
userName
作为常量则没有意义

(我意识到许多程序员使用区分大小写的语言,所以我准备迎接一个不受欢迎的接待:-)

编辑
这个问题的导火索是Lynda.com的“Flash CS3 Professional中的ActionScript 3.0”培训视频,其中Todd Perkins花了一半的时间强调资本化:-)

是的,我在C#中绝对一直使用这个:

我倾向于使用区分大小写的语言,但并没有真正看到它们的缺点——除此之外,它们强制保持大小写的一致性


不过,我认为这确实是个人的偏好。

我个人喜欢整洁的代码。如果你的语言不区分大小写,那么如果每个人都不遵守规则,它就有可能变得混乱

private String myName = "Shawn";

  if(myname.equals("Shawn"){
    MYNAME = myname + "Vader";
  }

  System.out.println("His name is " + MyName);
即使在区分大小写的语言中,我们也会花费大量时间确保所有内容都是一致的,比如运行分析工具来强制执行字段的命名约定、格式规则和最终方法参数


所以对我来说,这是一个从众的问题

我认为你应该在Programmers.SE上问这个问题。我认为你不应该在Programmers.SE上问这个问题,因为它已经在那里了。@Pavel,在那里问它(而不是关闭)这一事实难道不是一个好迹象,表明它实际上是正确的地点吗?我的职业生涯中一直在使用区分大小写的语言,有时我希望C#不是!哦,那是永远不会发生的!我认为这更多的是一种心态,而不是偏好。当我第一次从Delphi来到C#时,我被这种编码风格吓坏了。现在我一直在用它,而且我对它很满意。我对区分大小写的Delphi也很满意。
private String myName = "Shawn";

  if(myname.equals("Shawn"){
    MYNAME = myname + "Vader";
  }

  System.out.println("His name is " + MyName);