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.)

Reply via email to