• Case sensitivity increases the expressiveness of the language by making it possible to add semantic content merely by changing letter case. By adopting, understanding and applying consistent standards, programmers are able to take advantage of this feature to write code that is more clearly understood, increasing the maintainability of the systems for which the code is written. For example, a C# programmer using the popular, common and consistent naming standards will recognize the different between these two identifiers: AddressValidator and addressValidator. The first is a class name, and the second is a variable name that references an instance of the former.

    Lack of case sensitivity is a factor in what I consider one of the worst sins upon maintainability and understandability that we have seen in the last 20 years -- the use of names such as btnOK, vldAddress, and so on. Modern development environments with their syntax coloring and "IntelliSense" features have such stellar support for distinguishing between the use of different symbols that I dismiss summarily arguments that case sensitivity leads to errors of the type indicated in the article. While that may have been true in the days when K&R were first introducing C, it is a shallow and hollow argument today.

    I would argue that those who oppose case-sensitivity in programming languages lack the observational sensitivity to see coding errors introduced by case, and instead of blaming their own shortcomings, choose to transfer blame to an environment that does not make up for their weaknesses in this area. Some people are just not cut out for such sensitivity in their observations, and you can't blame them, just like you can't blame the color blind for their lack of color distinction. It is not a moral or intellectual shortcoming.

    To remove the expressiveness enabled by case sensitivity because some people can't deal with the consequences makes as little sense as restricting handguns from responsible, law-abiding adults because irresponsible criminals acquire the tools and use them for harm. If you can't deal with the tool - case sensitivity - you should not use it, but you shouldn't force others to forgo its use because of that.