I feel the same way about programming languages. There is no way that “User” and “user” should refer to different variables. How many times has that screwed people up, especially in a weekly typed language?
One of the many things that I feel modern versions of Pascal got right.
Case is often used to distinguish scope. Lowercase is local while uppercase is public. “Name = name” is a pretty standard convention, especially in constructors.
There is a ubiquitous use case in programming. There is not in the file system.
My point is not about how case is meant to be used my point is that it is very easy to make a mistake that is difficult to spot. I think it makes a lot more sense to the case insensitive, and force different names to be used.
This is the first time I’ve seen uppercase denoting scope. Usually it is done with a “_” or “__” prefix.
Casing styles usually mean different identifier types.
snake_case or pascalCase for functions and variables, CamelCase for types, UPPER_SNAKE_CASE for constants, and so on.
If we want to apply this to file systems, you could argue something like: CamelCase for directories, snake_case for files, pascalCase for symlinks, UPPER_SNAKE_CASE for hidden files.
I feel the same way about programming languages. There is no way that “User” and “user” should refer to different variables. How many times has that screwed people up, especially in a weekly typed language?
One of the many things that I feel modern versions of Pascal got right.
My naming convention for C++ is that custom types are capitalized and instances aren’t. So I might write
User user;
.Nope. Completely different.
Case is often used to distinguish scope. Lowercase is local while uppercase is public. “Name = name” is a pretty standard convention, especially in constructors.
There is a ubiquitous use case in programming. There is not in the file system.
My point is not about how case is meant to be used my point is that it is very easy to make a mistake that is difficult to spot. I think it makes a lot more sense to the case insensitive, and force different names to be used.
This is the first time I’ve seen uppercase denoting scope. Usually it is done with a “_” or “__” prefix.
Casing styles usually mean different identifier types.
snake_case or pascalCase for functions and variables, CamelCase for types, UPPER_SNAKE_CASE for constants, and so on.
If we want to apply this to file systems, you could argue something like: CamelCase for directories, snake_case for files, pascalCase for symlinks, UPPER_SNAKE_CASE for hidden files.