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