extern(C++, ns)

Biotronic via Digitalmars-d digitalmars-d at puremagic.com
Tue Jan 12 09:10:51 PST 2016


On Tuesday, 12 January 2016 at 04:29:00 UTC, Manu wrote:
> Can you see the pointless-ness of
> this feature and the effort being asked?
> It is against my interest to spend time (that I don't have) to 
> make
> this feature work, when I am 100% convinced it is a massive
> anti-feature and I just want to see it ejected into space. It 
> creates
> nothing but edges and offers nothing. Not a single advantage 
> that
> anyone has yet been able present.
> The solution is simple, and solves every related issue 
> instantly.
> There's no point wasting time identifying and fixing bugs in an
> implementation that shouldn't exist in the first place. This 
> never
> should have happened, we can correct it easily, no effort from 
> anyone
> is required, and we can all get on with something else.
>
> Do you also feel somehow emotionally attached to this? Give me 
> a thread of logic to grasp on to; there is no way I can imagine 
> to objectively balance the existence of this feature against 
> the problems. We already see here demonstrated evidence of 
> someone other than me going out of their way to awkwardly 
> eliminate the namespace from existence. It should at least be 
> opt-in by default.
>
> Anyway, I'm out, I'll be back when I find time for another 
> round at this code.

For what it's worth, I'm completely flabbergasted by the fact it 
somehow
introduces a "named scope". So, my understanding of the pros:

- It makes it easy to mirror the organization of your C++ code:
   Maybe. You probably already have thought of the organization of 
your
modules, which takes care of that job for you in D. This seems to 
be
the one selling point. If there are others, please do elucidate.

Now, the cons:

- No opt-out.
   There are workarounds, but that's not exactly a good argument 
in favor.

- It can already be done with existing language features.
   This is in my opinion a big one. Whenever other language 
features are
suggested, this argument is used to shoot it down. Why not so 
with this feature?

- Implementation problems.
   Not exactly a heavy argument against a feature, but if there 
are many
problems with it, it's a hint that the design may be flawed.


The arguments (that I see) seem to favor not introducing a new 
symbol.


More information about the Digitalmars-d mailing list