【问题标题】:Is there any advantage of being a case-sensitive programming language? [duplicate]作为区分大小写的编程语言有什么优势吗? [复制]
【发布时间】:2009-02-06 17:46:52
【问题描述】:

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

(我知道现在区分大小写的缺点已经被好的 IDE 所补充)

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

编辑:Why are many languages case sensitive? 的副本

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

【问题讨论】:

标签: programming-languages case-sensitive


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    区分大小写本质上更快地解析(尽管只是稍微),因为它可以直接比较字符序列,而无需弄清楚哪些字符彼此等价。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        代码看起来更相似。在 BASIC 时代,这些是等价的:

        PRINT MYVAR
        Print MyVar
        print myvar
        

        【讨论】:

        • 语言不区分大小写,并不意味着您只需保持大写锁定。
        • 我认为对某些人来说就是这个意思。
        • AFAIK,BASIC 写了很多,大写锁定 ;-) 10 打印“HELLO WORLD” 20 输入“你的名字”,A$ 30 打印“HELLO”,A$ 40 GOTO 10跨度>
        • 许多 BASIC 解释器自动将关键字转换为标记以节省 RAM 和解析。查看时,这些始终显示为大写
        【解决方案5】:

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

        【讨论】:

        • 您实际上遇到了作为一个整体的动态类型语言的问题。混合“大小写”只是一种拼写错误,一个微不足道的大小写。如果您有 myVariable 和 myVaraible(第二个是“拼写错误”),那么您也得不到任何帮助。但是,我当然同意。 :)
        【解决方案6】:

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

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

        MyClassName myClassName = new MyClassName()

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

        【讨论】:

        • MyClassName myClassName = new MyClassName() 不是很好。这是初级开发人员等的陷阱。是的,我知道花括号类型使用这样的约定,但这会让我发疯!我会坚持使用 Delphi,谢谢!
        猜你喜欢
        • 1970-01-01
        • 2011-03-10
        • 2011-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-17
        • 2016-05-30
        • 2013-08-13
        相关资源
        最近更新 更多