C#ase Sensitive
I've been doing a lot of training for companies moving to
VB.Net and one of the big reasons that keeps coming up in
why they aren't moving to C# is the case sensitivity of C#.
And the only answer I have to why C# is case sensitive is
that C/C++ and Java are case sensitive, and C# is designed
to be a language comfortable to those developers.
But
then the question is: Who in their right mind would ever
leverage the ability to have a function named SquareRoot and
another one named squareRoot in the same namespace? Imagine
a dialog between two developers, Steve and I'm Too Damn
Smart for My Own Good
Steve: Hey, I'm having trouble running the InsertCustomer
function. I thought it was supposed to throw an exception
when you send in a null value.
I'm Too Damn Smart for
My Own Good (ITDSFMOG): Are you calling it with an uppercase
or lowercase I?
Steve: Ummm, I guess uppercase.
ITDSFMOG:
That one doesn't throw exceptions. Use the lower case
version.
Steve: Hold on, ITDSFMOG, I'm going to set you
on fire.
ITDSFMOG: Behold the power of C#! Let's see
those stupid VB programmers call this function. ARGGghhhhh
I'm on fire and it really burns! I regret nothinggg....
I can think of three reasons in my head why anyone would
ever care about case sensitivity. One would be if this was
1968 and we could only use on character per variable name,
so now you can use A-Z along with a-z. Hooray! The other
reason would be to make the job of the compiler writer a
little easier. And the other one would be for NotePad
developers who might do something like this:
int
MyVar;
myVar = 59;
Meh, that may be gross
but I sure do hate having to remember to capitalize
keywords. Can appeasing the notepad developers be that
important to keep case sensitivity?