What are the worst parts of D?
Sean Kelly via Digitalmars-d
digitalmars-d at puremagic.com
Tue Sep 23 12:50:38 PDT 2014
On Tuesday, 23 September 2014 at 19:10:07 UTC, H. S. Teoh via
Digitalmars-d wrote:
> On Tue, Sep 23, 2014 at 07:01:05PM +0000, Sean Kelly via
> Digitalmars-d wrote:
>> On Tuesday, 23 September 2014 at 18:38:08 UTC, Andrei
>> Alexandrescu wrote:
>> >
>> >Well put. Again, the two things we need to work on are C++
>> >compatibility and the GC. -- Andrei
>>
>> Has much thought gone into how we'll address C++ const?
>
> Is that even addressable?? D const is fundamentally different
> from C++
> const. Short of introducing logical const into D, I don't see
> how we
> could bridge the gap.
I haven't really thought about it, but something could probably
be made to work with type wrappers that do implicit casting plus
just pretending that const is the same like we do with our C
interfaces. I'm also wondering how we'd handle something like:
struct S { virtual int foo() {...} };
std::map<int,S> m;
We'd have to make S a value type in D, so struct, but D struct
does't allow virtual functions. Maybe something weird with
in-place construction of classes? I suspect the more we look
into C++ compatibility the more problems we'll find, and actually
interfacing with most C++ code worth using will result in
terrifying D code. But I hope I'm wrong since C++ support is
apparently now where all of our effort is being devoted (mark me
down as being completely uninterested in this feature despite
using C/C++ at work).
More information about the Digitalmars-d
mailing list