On 7/1/2013 6:39 AM, Ary Borenszweig wrote:
This is not what I am talking about and it seems quite dangerous to have
one variable name masquerade as multiple variables.

Why dangerous?

D already disallows:

    int x;
    {   float x;
    }

as an error-prone construct, so why should it allow:

    int x;
    float x;

?

I've been programming in Ruby for quite a time and never found it
to be a problem, but an advantage.

What advantage? Does Ruby have a shortage of names for variables? (Early versions of BASIC only allowed variable names with one letter, leading to some pretty awful workarounds.)


Show me an example where this is dangerous (the pointer example gave by Walter
is not valid anymore since it has a fix).

I'm actually rather sure that one can come up with rule after rule to 'fix' each issue, but good luck with trying to fit all those rules into some sort of comprehensible framework. Consider what happened to C++ when they tried to fit new things into the overloading rules - the rules now span multiple pages of pretty arbitrary rules, and practically nobody understands the whole. What people do is randomly try things until it seems to do the right thing for them, and then they move on.

And all this for what - nobody has come up with a significant reason to support this proposal. I see post after post in this thread trying to make it work, and nothing about what problem it solves.

Reply via email to