While looking for a case insensitive way to find files on Linux, I came across this post on Coding Horror. (It's an awfully old post in internet terms, but it sparked my interest.)
The author raises some points as to why case sensitivity is "a giant productivity time sink" and quite frankly I'm not seeing the merit in his argument. To me case-sensitivity seems like a great feature in that it enforces readability. It's easier to see that "Variable" is the same identifier as "Variable" than it is to compare "Variable" and "VARIable". That, and I always find myself doing stuff like this when I need a single instance of a class:
In the comments, I saw the issue going to "how lenient should the language be, then?" If case insensitivity is OK, should the language forgive typos as well? Should "Varyable" == "Variable"? Obviously I hadn't gone as far as to consider this - I'm still saying case sensitivity is a good thing. But the idea of a compiler that forgives little errors like this is quite interesting.Code:class Apple; Apple apple;
Oddly enough, however, I'm all for case insensitivity in filesystems. And I love the program that comes up with suggestions when I make a typo on the linux terminal (though this is markedly different than assuming it knows what you meant to say). It might just be that I've had different experiences working with filenames, or that I haven't ever had a need to have two files differing only by case.
Which brings me to my point: do you guys have any reasons for favoring one or the other (case sensitivity vs insensitivity (vs typo-correction???))? And, do any of you have so-called "horror stories" regarding case sensitivity that are apparently so common?