Hmm - about manifest/enum

Michiel Helvensteijn nomail at please.com
Tue Jan 1 15:22:10 PST 2008


Lars Ivar Igesund wrote:

> C++ is a very big language, bigger yet than D (at least as far as
> the spec goes) and almost everything is possible through some (probably)
> non-intential way that has become convention and rooted into specification
> and/or use-base libraries. The thing here is that those conventions tend
> to crop up in the D discussions as good reasons to do those things the
> same way in D, and _that_ is what frustrates me. I do _not_ think
> overloading a keyword with a new meaning in anyway reduce language bloat
> (the feature is still there, even if it don't have a keyword of its own).

I agree. Overloading an existing keyword is not the answer. It can only
cause confusion. Even though it does have the merit of not breaking
existing code.

No, C++ convention is not a reason to do the same in a new language. And I
even think D is still too much like C++. To name a trivial example, the
assignment operator should not be =. It should be non-symmetrical, like <-
or :=.

You know, some people might say that it should even be ->. As in, expression
left, variable right. But this convention is so rooted into every
programmers mind, even I wouldn't change it anymore.

>> At first I really liked the D specs. The explicit contracts / invariants
>> / unittests, the useful template possibilities, the variadic functions,
>> to name a few. But right now D seems far too unstable and convoluted for
>> me. It's already past version 1, well into 2 and already planning for 3.
>> Not so much fixing and stabilizing (or, you know, standardizing) the
>> existing language as adding more and more features. I'm glad I have
>> something as reliable as C++ to work with.
> 
> As has been pointed out, the versioning of D is a bigger problem than
> stability itself as it is confusing. 1.0xx is stable, 2.0xx is not (and I
> have no idea how the version is meant to look when it becomes stable).

Hm.. Yes. I might have a look at 1.0xx again. However, what's the point if I
have to switch to 2.0xx (or whatever the stable equivalent is) in a year
and have to rewrite all my 1.0xx code? The good thing about the development
of C++ is that:

1. It is standardized.
2. For every new version, changes are painstakingly examined to make sure
they break as little existing code as possible.

-- 
Michiel




More information about the Digitalmars-d mailing list