I'm against changing this, and I think a vote is superfluous so **I do not want 
a vote**.

When I first found Nim I though the style insensitivity was a bit strange. But 
the more I use it the more I like it. And after having had to write some code 
in C and Ruby that doesn't have it I'm even more for it. The fact of the matter 
is that you will never be able to get 100% of people to write in one style (and 
even if you did, is it dataBase or database, fileName or filename?), so all 
code that isn't style insensitive will be at risk of ending up as a mixed style 
project. It only takes one "bad" import. Sure you can fix this by making a lot 
of bindings, but why would you, when you can have style insensitivity for free.

Besides, apart from the ubiquitous object/instance differentiation (which Nim 
also has an exception for) it's widely regarded to be a bad idea to have 
style-sensitive identifiers anyways. Having a variable fileName and a procedure 
filename would just be confusing. The only case that can be made here is that 
an identifier like word1_word2 would collide with wo_rd1word2 which is a 
problem for a very small set of word combinations where both would be normal 
names but not the same. Couldn't think of any example of this though.

Besides style sensitivity is a relatively new concept. The only reason we have 
snake-case is because spaces can't be used in identifiers, and the only reason 
we have upper case letters as separate characters is that the ASCII group 
decided that it would result in safer encoding. The alternative was sending 
"Hello" as "<switch to uppercase symbol>H<switch to lowercase symbol>ello". The 
choice was made as missing the <switch to lowercase symbol> would mean the 
entire rest of the document would be upper-case, which would be annoying.

Reply via email to