Import concerns revisited

John Reimer terminal.node at gmail.com
Tue Jul 11 00:32:50 PDT 2006


"Walter Bright" <newshound at digitalmars.com> wrote in message 
news:e8utvp$53$1 at digitaldaemon.com...
> John Reimer wrote:
>> If you can find something
>> equivalent to from/as (which you most certainly haven't), without 
>> adopting new
>> syntax, maybe we'll bite... but so far, I think using 'with' (or from) 
>> and 'as'
>> is an excellent contender.
>
> I'll repeat myself here, too <g>. The 'static import' combined with 
> 'alias' has
>
> *exactly the same semantics*
>
> as 'with' 'as'. The only difference between the proposals is if there are 
> two statements or one. There is no difference in power or effect. There is 
> nothing that one can do that the other cannot.
>


The semantics are not exactly the same.  Read Sean and Kris's explanations 
again, please.  'static import' adds nothing to the what this whole 
namespace business.  It just sharpens the compiler a bit to enforce FQN for 
the programmer's sake.  But that is absolutely unnecessary because a D 
programmer that wants to do that now can just make sure he uses FQNs!  So 
what's the point of 'static import'?

Also see Lionello Lunesu's post in response to you.


>> I think you are missing the point. *sigh*. Read above. Imports/namespaces 
>> make
>> up what constitutes a D program.  I think it's a very central, critical, 
>> and
>> special to D.
>
> I certainly agree with that. What I am unconvinced of, however, is that 
> the *renaming* is central or critical. Note that C, C++, Java, C#, Ruby, 
> etc., do not support renaming. Only Python seems to. And only D has a 
> general purpose renaming capability.


I get that you are unconvinced.  In fact, I think it's more than quite 
apparent!  D is not C, C++, C#, or Ruby.  D is not ADA, Pascal, BCPL, Modula 
2, or Simula. Neither is it Python. In fact, D is D.  And we're the D 
community.  If you want to keep trying to sell D to the C++ community, 
you've already failed.  The majority of that group will never be convinced 
as long as they are having their love affair with C++ or are wistfully 
forseeing an upcoming C++ standard with all the "incredible" features they 
ever wanted.  Many people choose to be blind because it means inconvenience 
and turmoil otherwise to see what might be a good for them.

But, for your sake, I hope you realize the community here is your best 
investment.  Improve D with a conscience for good design, but please stop 
being ( what appears to be ) double minded about who you are trying to 
appeal to. Forget the C++ people.  Think of D with wild abandon and commit 
to making it a true replacement, a bonifide departure from C++.  Yes, 
absolutely maintain that eye for proven methods, but please don't let that 
limit your sights if such things don't appear to have been "verified" . No 
new inventions can succeed while it waits for others to complete the process 
of collecting the scientific data, of proving it.

What we have asked for here is hardly such a complicated feature that you 
should be worrying on that level.  It's been demonstrated carefully and 
methodically how it simplifies the D programmer's life.  Many people, the 
majority I think, have been supportive of it.  Yet you still appeal to the 
example of other languages, some that were designed for different audiences.

Finally, the only ones that are interested in learning D are the ones that 
are fed up with the ugliness and complexity of C++ to such an extent that 
they decide to see what D is about.  D can certainly start exploring some 
new territory to prove that there are ways to do things better (and so you 
have done!).  C++ can never approach that angle because whatever it adds to 
fix the problems it has, will only make it more complex.

-JJR 




More information about the Digitalmars-d mailing list