Vision

rsw0x via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 21 16:17:55 PDT 2015


On Wednesday, 21 October 2015 at 20:50:29 UTC, Andrei 
Alexandrescu wrote:
> Better late than later.
>
> http://wiki.dlang.org/Vision/2015H2_(draft)
>
> Destroy. After we make this good I'll rename it and make it 
> official.
>
>
> Andrei

>Memory management
>"No GC" remains a primary concern going forward for the standard 
>library and client code.
>We need good language+library support and robust idioms to 
>follow for good no-GC code.

language-level smart pointers would be a good start. Library 
level ones feel like an ugly hack honestly, its been repeatedly 
beaten to death all the issues there is in implementing them at 
library-level and the only solutions are more ugly DIPs to duct 
tape it together - look, DIP25 required another DIP just to fix 
the DIP itself. http://wiki.dlang.org/DIP77

Another major issue is the lack of -> like C++, which means that 
methods on the smart pointer can't be disambiguated from methods 
on the object it's wrapping.

D's entire memory management system almost feels C arcane 
compared to where C++ is moving.
Scope as an attribute is still mostly unimplemented AFAIK.
Honestly, I think the new C++ guidelines have a lot of goodies in 
it...

I'd like to just be able to use D without the GC. I don't mean a 
gimped version of D where I might as well just be using another 
language. D's GC is just slow, and honestly, not viable for most 
tasks you're going to use a system's level language for. Yeah, 
I'm going to get flak for that and people are going to cherrypick 
data that shows that a GC'd language has been used in some OS 
that was used by 7 people total or something, but lets not delude 
ourselves - there's a reason why everytime D gets optimized for a 
benchmark the first thing anyone does is essentially nix all 
allocations and replace classes with structs.


More information about the Digitalmars-d mailing list