Seems like there are two separate things in this thread.

  * One, some people don't want _ to be ignored,
  * Two, some people don't like case insensitivity.



In my _opinion_ case insensitivity is better.

> What are the pros and what are the cons of 100% matching identifiers. I do 
> not see many cons besides some fuzzy "freedom of choice" feeling.

Personally I think treating fooBar and foobar as different is a source of 
trouble, tempting people to make semantically identical names with different 
cases because, say, they like the name but a library is using it. Ideally, it'd 
be better if the name was more explicit to it's meaning and source, and I feel 
CI encourages this.

> identical word highlighting

This is a potential pitfall, but shouldn't we be aiming for the same style in a 
module?

> If that same was: isPromotionModifed, is_Promotion_Modifed, 
> is_PromotionModifed, is_promotion_modifed, ... There is no way i will search 
> for all occurrences. Let alone potentially find them. I will not find all 
> occurrences or will have a regex search that is so broad, that the results 
> will include more variables then needed.

There is the nimgrep tool for this and Aporia uses it for search, but of course 
it isn't in common editors (I use VSCode these days).

On the other hand, how do people feel about Google being case insensitive when 
searching for code stuff? I'd argue CI languages are more likely to get concise 
hits.

> To me it looks more or less like a features that can be great for single 
> personal development but a total disaster in a team. Only if a standard set 
> of rules can be applied, then it might be more useful in a team.

To be fair, I feel like the same style complaints stuff applies to CI & CS with 
non-standard naming conventions, with similar pros and cons for both sides. If 
anything, at least in Nim you can use a library written in a weird style in 
your own style standard if you wish, instead of forcing you to mix styles. I 
dunno, everyone talks about the 'problems' but honestly it just seems like the 
problems are present in CI and CS languages, just manifest in different ways 
and are ultimately more team management issues than coding issues.

For example, GL_INT / GLint is a problem - I mean, IIRC doesn't one represent 
an int type and the other an enum? Is that sensible naming? The source of this 
particular problem is the library, not CS/CI/_. I just think they're named 
badly and are ambiguous about what they really are. Case sensitivity might 
solve ambiguity, but doesn't tell you wtf you're actually working with.

Reply via email to