On Thursday, 21 August 2014 at 21:06:09 UTC, Walter Bright wrote:
On 8/21/2014 10:57 AM, Joakim wrote:
Given tools like libclang, how hard do you think it'd be to
translate most of
actual C++ to D?
I'd say the possibility of that is about zero. Heck, we can't
even do it 100% for C.
The trouble is, D is not a perfect superset of C++, not even
close:
1. multiple inheritance
2. SFINAE
3. Koenig lookup
4. tail mutability
5. overloading rules
6. operator overloading rules
7. fwd reference issues
8. macros (it's depressing how much modern C++ practice still
heavily depends on the preprocessor)
Does that really matter? In my not-so-humble experience, C++
programmers often, far too often, find some odd corner case in
the language and build an entire store on it. I personally find
this baffling, but it happens with depressing regularity.
(In contrast, the C++ style used in DMD is very conservative
and tends to run right down the middle of the road of C++,
avoiding anything clever and corners and weird emergent
behavior. This is the only reason why DDMD has even a prayer of
working.)
OK, you would know better than anyone, thanks for the considered
answer.