Doesn't this just make using the language a pain in the * and generally push up the time and complexity of development?
Doesn't it make for a MORE steep learning curve?
Doesn't it make developing a syntax checking tool more time consuming?
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
I think you mean case-sensitive, but I'll go ahead and tell you why I think case sensitivity is a good thing -
1. Easier to declare case specific variables, and hence results in better code - people have conventions for declaration that is done better using a case-sensitive language. xFoo, Xfoo, xfoo all can mean differently based on your conventions - I use
xfoo locally within a class, Xfoo in inherited classes and XFoo for externs - its something that does not break and yet makes it obvious to me by just looking at it. And I make sure my conventions are duly noted in the documentation, and it makes it easier
for others to work on it.
2. Code becomes easier to read - sure, I can write class foo as cLaSs FoO - but it looks stupid. Maintainability and readability are issues.
Manip wrote:
Doesn't this just make using the language a pain in the * and generally push up the time and complexity of development?
Manip wrote:
Doesn't it make for a MORE steep learning curve?
Manip wrote:
Doesn't it make developing a syntax checking tool more time consuming?
Karthik wrote:
Manip wrote:
Doesn't it make developing a syntax checking tool more time consuming?
Maybe, a little. But do you have any information to back this up?
ktegels wrote:
As to the back-up: no, being case insensitive is actually harder than not being. Our friends at the U of Manchester have a basic compiler theory paper up that talks about this.
Manip ... I'm with you!
I hate case sensitivity! It's just plain annoying!
Can we have a feature so developers have a choice? I can see the complications already, it would be like having two different languages, but It will keep both camps happy. I have got tons of developers on VB.NET that are staying there because of just this one
issue! They say it slows them down, I can't argue against that.
What do you think people ?
Cheers,
Sabot wrote:
I have got tons of developers on VB.NET that are staying there because of just this one issue!
I suspect that a lot of the reason why C# is case-sensitive is that C and C++ programmers are/were the big target for C#. Those people are used to a case-sensitive language and tend to think that is the way a language should be.
Case-sensitivity (along with those silly semi-colons) do make life easier for the compiler developers but I'd like to think we're beyond the days when languages were developered just for people who write the compilers.
C was an experiment and I can understand
why one would take short cuts for such a thing.
Visual Basic is case-insensitive and it seems to work just fine. That is one of the reasons I am not ready to give it up for C#.
miies wrote:
Sabot wrote:
I have got tons of developers on VB.NET that are staying there because of just this one issue!
If they're using VisualStudio, that's pretty strange - cause VS by default automatically formats all VB.NET code to correct case. Do they deliberately turn that feature off?
Sorry guys, just to clear this up. My original post wasn't very clear!
I have a group of developers that use VB.NET and have come from VB5/6 that do not like being forced to use a case, so this is the reason they will not code in C#.
Case-sensitivity can be a good thing, and so can Hungarian notation (these arguments tend to show up in clusters). They both allow us to visually distinguish between different elements in a language. If you see 'max_path' or 'phonenumber' in code somewhere,
and you've never seen it before, you'll probably go trawling through code trying to figure out where that variable gets declared and what type it is. MAX_PATH stands out as something that is distinct from other variables. Using 'szPhoneNumber' instead of plain
'phonenumber' allows us to tell a lot about what 'szPhoneNumber' is for, where it came from, and what it isn't. We know, for example, that it's in the local scope... it's neither a member, static, or global variable... It even gives us insight as to what its
content might look like. We might think this is a valid operation (though it doesn't seem like something anyone would want to do):
phonenumber++;
But we can be reasonably sure that this is probably not something that's being done intentionally:
szPhoneNumber++;
Of course, the majority of this stuff is subject to personal opinion. Having been brought up under an oppressively case-sensitive regime (in this case, my college C class
, it seems natural to me.
Some folks argue that the need for Hungarian is mitigated in C# by the language's strong support in Visual Studio. I tend to disagree... I tried to code a little tool up in C# without using Hungarian and ended up with a bunch of variables named "FooString"
instead of "strFoo". Old habits die hard, I suppose... ![]()
I wish wish wish the syntax checker auto-adjusted if they are typed wrong, you can even have it turned off by default to keep all the C people happy.. I dream of a day when you type "Messagebox" and it gets corrected to "MessageBox" without even bothering
you. You could even take a note from MS Word's book, and if you correct it, then it doesn't try to re-correct it.
I can't imagine the C people having too much of a problem with that, it would be switch off by default so would not hurt there perfect code.
Again nobody has offered a good reason for this. Some have said easier to read bluh bluh, but someone as I would have pointed out told them automatic case selection is EASIER than human any day. I mean who has ever had problems reading Visual Basic code? Nobody!
Sabot wrote:I have a group of developers that use VB.NET and have come from VB5/6 that do not like being forced to use a case, so this is the reason they will not code in C#.
Manip wrote:
I wish wish wish the syntax checker auto-adjusted if they are typed wrong, you can even have it turned off by default to keep all the C people happy.. I dream of a day when you type "Messagebox" and it gets corrected to "MessageBox" without even bothering you. You could even take a note from MS Word's book, and if you correct it, then it doesn't try to re-correct it.
Manip wrote:
Again nobody has offered a good reason for this. Some have said easier to read bluh bluh, but someone as I would have pointed out told them automatic case selection is EASIER than human any day. I mean who has ever had problems reading Visual Basic code? Nobody!
Manip wrote:
I do suspect that because the big rubber stamp has been used on the C# specification, it is too late to change anything.. I would rant and rave about how C/C++ people control all language development but you all know what I'm going to say so I don't see the point.
C# is based on C, so that would explain why. People coming from C or Java will like the fact that it's case-sensitive. I like that feature.
Sabot wrote:Sorry guys, just to clear this up. My original post wasn't very clear!
I have a group of developers that use VB.NET and have come from VB5/6 that do not like being forced to use a case, so this is the reason they will not code in C#.
Richie wrote:
An "A" is not equal to an "a"... deal with it...
(I wonder what advice Donald Trump have for them...)
For me case sensitivity (and use of the semi-colon) was a great reason for moving from VB.Net to C Sharp. If you're doing web development it's a pain in the posterior to keep switching between case-sensitive JavaScript and case-insensitive VB. I've lost
count of how many times an error in case sensitivity in JavaScript would take forever to chase down, mainly because debugging tools for client-side JavaScript are a joke and the VB habbit of not caring about case lead me to get sloppy with coding.
Using C# soon gets you into the correct habit (much better debugging helps), gives you great advantage in not having to keep coming up with different names for the field and property versions of a variable (just make the property Pascal notation, field camel
notation) and makes switching beween server-side and client-side programming in JavaScript a doddle.
I'm all for case sensitivity.
paulcam wrote:Case-sensitivity can be a good thing, and so can Hungarian notation (these arguments tend to show up in clusters).
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.