Subject: Re: [boost] C++ Manifesto
From: Christopher Jefferson (chris_at_[hidden])
Date: 2009-09-10 09:38:39
On 10 Sep 2009, at 14:25, Christian Schladetsch wrote:
> I wrote: A problem seems to be that we are trying to be meta-meta
> when meta-
> alone suffices.
>> The GCC frontend hasn't been integrated into mainline GCC, the LLVM
>> frontend is beta and similarly lives out of tree. A substantial,
>> incompatible, rewrite of the language is currently in progress.
> The same can be said for C++0x. And LLVM is not in beta w.r.t Apple.
C++0x isn't finished, but there is already good evidence there will be
at least 3 independent implementations, each of which would stand
alone if the other two failed, and an official ISO standard of the
language. Can you same the same if Digital Mars disappeared tomorrow?
LLVM is not in beta, but the D front-end of it is. Not sure what that
has to do with Apple.
Just a couple of points:
> Move semantics and the problems that Ion is having is a case in point.
Of course writing move semantics as a library is horrible, that is why
it is being added as a new language feature. It works well, and I am
already using it in code.
Is C++ the best language ever? Certainly not. But D version 2 is in
beta, and is not backwardly compatible with D version 1. Further,
there are two completely independent standard libraries for D.
Certainly I don't question you, or anyone else, wanting to work with
D. I would love nothing more than for it to get to a stable,
respectable point where I could move my current C++ code, which runs
on computers from massively parallel machines to iPhones, to D. In
fact, we've just been looking at the language we should use for a
major new system we will be designing over the next 4 years, and took
a serious look at D. It's lovely, but in practice D isn't there. Yet.
> What do you use? Which parts of boost are good to use with least
Out of interest, I'm not totally sure what that has to do with D. I
bet you could write libraries just as complex and pushing language
corners in D as you can in C++, without much difficulty.