I came across this article a day or two ago and thought “here we go again.”

Mike Griffin of MyGeneration fame commented:

This post reminds me of a relative, who during thanksgiving dinner always brings up the same old incendiary political topic that has ruined all of our prior thanksgivings, still, if the stuffings good it’s not a total loss …

While we don’t celebrate Thanksgiving here in Australia, I feel the same way he does about this issue.

So this is not about which language is better.

But something in one of the comments interested me. One of the comments, and you can read them all through the above link if you are interested, contained this:

if I had a penny for every time some C-based idiot uses code like this…

MyClass myClass = new MyClass();

…I’d be able to retire. There isn’t a darned thing clear about that statement…

This has always been one of my complaints about C#. I wish it wasn’t case sensitive and one of the reasons is because it leads to this sort of code, which I find very confusing.

Some time ago I came across some code which was given as an example of how to write classes. All the private fields were lowercase and all the properties were PascalCased so that we had code like this:

   public string FirstName
   {
       get
           {
              return this.firstname;
            }
    }

This sort of naming convention drives me crazy. I don’t imagine it is common in the C/C#/C++ world, but maybe it is. I don’t do it.

But another commenter said:

I hate the fact that Visual Basic language is case insensitive, and makes me to name fields and corresponding properties seperately unlike camel case beauty of C#

So there you go. Beauty is in the eye of the beholder. However I remember Steve McConnell saying in Code Complete that code is read much more often than it is written. So it has to be easy to follow. Using the same name for different entities, even if they are in different cases, is a likely recipe for confusion.

But that is just my humble opinion.