Why would I ever need foo, Foo, and FOO to refer to completely different things?
someMock = SomeMock()
Also, inconsistency. The example that they put is SHOWLN and showln, and they use all over the place showln, but then they write ReadLN. Driving me cranky :-)
function Foo.bar(foo, foo_param)
foo.buxx = foo_param or FOO
return foo
end architecture impl of SimpleModule is
type State is (Idle, Busy, Done);
signal state: State;
begin
...
end;
I get an error message for the signal declaration, because the identifier state is already used for the type State. It's easy to fix (for example, using FsmState and fsm_state), but it's just so annoying each and every time.When I look at a piece of code and I see something like "FOOBAR" I can be quite sure that I am looking at some variable in the global namespace. "FooBar" is most likely a class/struct. `foobar` could be a local name or a function.
Sure, these are conventions and don't need to be observed technically, but they are, because they are useful, same as it's useful to name counter variables in loops "i" instead of "localLoopIterationCounterVariable".
Oh and of course there are languages where case actually does matter syntactically, like Golang.
All of that flies out the window in a language that simply ignores case. And it is at this point where I pose the counter-question: What makes ignoring case in a programming language useful?
'a' and 'A' are two different code points. The computer doesn't care about our cultural notation that they are two somewhat-related things. One is `1100001` the other is `1000001"
Therefore they mean, and should mean, different things.