Why do people like case sensitivity?

An advantage of VB.NET is that although it is not case-sensitive, the IDE automatically re-formats everything to the "official" case for an identifier you are using - so it's easy to be consistent, easy to read.

Disadvantage is that I hate VB-style syntax, and much prefer C-style operators, punctuation and syntax.

In C# I find I'm always hitting Ctrl-Space to save having to use the proper type.

Just because you can name things which only differ by case doesn't mean it's a good idea, because it can lead to misunderstandings if a lot of that leaks out to larger scopes, so I recommend steering clear of it at the application or subsystem-level, but allowing it only internally to a function or method or class.


Consistency. Code is more difficult to read if "foo", "Foo", "fOO", and "fOo" are considered to be identical.

SOME PEOPLE WOULD WRITE EVERYTHING IN ALL CAPS, MAKING EVERYTHING LESS READABLE.

Case sensitivity makes it easy to use the "same name" in different ways, according to a capitalization convention, e.g.,

Foo foo = ...  // "Foo" is a type, "foo" is a variable with that type

Case sensitivity doesn't enforce coding styles or consistency. If you pascal case a constant, the compiler won't complain. It'll just force you to type it in using pascal case every time you use it. I personally find it irritating to have to try and distinguish between two items which only differ in case. It is easy to do in a short block of code, but very difficult to keep straight in a very large block of code. Also notice that the only way people can actually use case sensitivity without going nuts is if they all rigidly follow the same naming conventions. It is the naming convention which added the value, not the case sensitivity.