Getting on people's case

by Michael S. Kaplan, published on 2005/10/30 03:01 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2005/10/30/486838.aspx


It is funny how you can't have a simple discussion about the Framework Design Guidelines about Case Sensitivity without bringing out a nearly religious hysteria with the two camps claiming their thoughts on the matter are best.

Personally, I don't care. Everyone should just do whatever they want and then if they want case insensitivity come back talk to me about how to get the casing figured out....

But what I think is funniest about one of the VB stances on the whole matter is that they want case insensitivity because it is too easy to confuse people with mixed case but they have no problem with different normalized forms obfuscating meaning.

I mean, speaking personally, I have no problem distinguishing these two letters:

A          a

But in an application like Visual Studio.NET (which has had complex script support in the designer since v.1), I would have serious trouble distinguishing these two letters:

ë          ë

Of course, it is a lot of fun putting together samples like that obfuscation one, but that is just to help call attention to the problem.

I would not object if Visual Studio was bundled with a tack hammer so users tempted to do this sort of thing could hit themselves over the head to cure the temptation. :-)

Now here is a sample I could put together that might help -- a VB sample that had all of the following kinds of characters co-existing in ways that appear to violate the casing rules:

Ä          ä


 

É          é


 

Ì           ì


 

Õ         õ


 

Û         û

I am going to have to find Jay Roxe (who was at the Karaoke Challenge on Friday and sang Great Balls of Fire!) and talk about putting together a "case sensitive VB" sample. Maybe then I could get the VB folks who want case insensitivity interested in getting the issue fixed? :-)

 

This post brought to you by "ë" (U+00eb, a.k.a. LATIN SMALL LETTER E WITH DIARESIS)


# Nick Lamb on 30 Oct 2005 5:13 AM:

Instead of the hammer, maybe VS could implement NFC and thus reduce the temptation to enter non-canonical characters by silently converting them...

# Michael S. Kaplan on 30 Oct 2005 2:30 PM:

That is my hope for what the sample might accomplish? :-)

# Dean Harding on 30 Oct 2005 5:31 PM:

Did VB <= 6 let you have identifiers outside of ASCII? It'd probably be hard to chage the case-insensitivity rules after all these years, but I guess if unicode identifiers are still a new thing, then you probably could change them.

After all, nobody - anywhere, ever - would have code that actually made use of the fact that VB doesn't normalize identifiers... would they?

# Michael S. Kaplan on 30 Oct 2005 5:42 PM:

Prior to VB.NET, they were ANSI based (basically default system locale). But VB.Net could support&nbsp;normalized names&nbsp;as an opt-in&nbsp;flag, as could C# and everyone else....

Please consider a donation to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.

go to newer or older post, or back to index or month or day