D 2015/2016 Vision?

bitwise via Digitalmars-d digitalmars-d at puremagic.com
Tue Oct 6 17:17:35 PDT 2015


On Tuesday, 6 October 2015 at 22:21:41 UTC, Jonathan M Davis 
wrote:
>
> So, we're doing better than C# or Java do, but unfortunately,
> there are just enough issues with ref-counting structs that to
> get it fully right, we do need ref-counting in the language 
> (unfortunately, I don't remember all of the corner cases that 
> make that the case). So, ref-counting with structs _mostly_ 
> works, and it is a solution, but it's not quite where we want 
> it to be, which is Walter and Andrei have been talking about 
> adding ref-counting support to the language and DIP 74 was 
> proposed.

I'll give you that. The situation is slightly better than C#.

But these problems still exists:

-structs can be nested in classes, and inherit the 
non-deterministic lifetime of classes. The designer of a library 
has no control over this.

-classes that are meant to be ref counted(meaning that they 
depend on their destructor being called in a timely fashion) are 
not guaranteed to be wrapped in a RefCounted or similar RAII 
object. Again, the designer of a library has no control over this.

-again, alias this allows class references to escape their RAII 
containers and can cause access violations as show here:
http://forum.dlang.org/post/zfggjsjmfttbcekqwgjd@forum.dlang.org

-The syntax is annoying(this is a lot more important that people 
in this forum usually want to believe)

-wrapper structs hide the real type of the object from templates, 
typeof(), etc..

-etc..


>> _Is_ it just the interim? Will DIP74 actually ever be 
>> implemented? if so, when?
>
> We don't know. It hasn't been officially accepted yet. Walter 
> and Andrei could change their minds and decide that it's not 
> necessary to add ref-counting support to the language. It could 
> be that DIP 74 or something like it ends up being accepted and 
> implemented in a year or three.

If it takes long enough that C++ has reflection, modules, ranges, 
stackless coroutines, concepts, etc, then I gotta be honest, I'm 
gonna start worrying about investing too much time in D.

> I'd be shocked if it were this year, and depending on what
> Walter and Andrei are focusing on, it could be longer than that.

I hope you're wrong. It's one thing to move slow, but looking at 
DIP74, it doesn't seem to be moving at all(last updated 
2015-03-04)


> But based on questions on SO and stuff in D.Learn and other
> places online, it's pretty clear that at minimum, many folks 
> that are
> new to D use classes even when they don't need polymorphism.

Yes, that's why they're asking question in D.Learn and SO... :)

There seems to be a general trend in software these days where 
developers are getting lazy, and saying "But no one is asking for 
it" and using that to justify leaving features out.  This 
approach doesn't take into account people that just _expect_ 
certain features to be present because they're so obvious.

If you went to a Pizza Hut and they gave you a pizza with no 
cheese on it "because no one asks for it", would you actually say 
anything, or just dismiss them offhand and go somewhere else?

There is something to be said for tradition. Not everything has 
to be a democracy..

     Bit






More information about the Digitalmars-d mailing list