Languages for servers (Go, D, and more)

Remo via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 4 12:46:39 PDT 2014


On Friday, 4 July 2014 at 16:16:35 UTC, Meta wrote:
> On Friday, 4 July 2014 at 15:29:06 UTC, Brian Rogoff wrote:
>> On Friday, 4 July 2014 at 14:10:29 UTC, bearophile wrote:
>>>>D: y u no distinguish between ints/longs/floats/doubles and 
>>>>pointers when taking out the trash? You argue that internal 
>>>>pointers make implementing a precise garbage collector (which 
>>>>wouldn’t mistake numbers for pointers) impossible, but Go 
>>>>managed it in spite of also having internal pointers.
>>
>> It is true that a precise (and moving) GC is desirable for 
>> long running servers, and that the Go GC has been receiving a 
>> lot of love; it's now stack precise with Go 1.3.
>>
>> I don't recall anyone arguing that internal pointers make a 
>> precise GC impossible. But there are plenty of D features that 
>> complicate a precise GC, amongst them internal pointers. IMO, 
>> the D story around GC is currently one of the weaker parts of 
>> the language. Sure, there are workarounds, including not using 
>> the GC at all, but then so many features are tied to it that 
>> the interested developer may just decide to use a language 
>> with a more mature and precise GC, like Java or Go, or none at 
>> all like C.
>
> With @nogc and the -vgc compiler switch, I think it would 
> fairly easy now to do C-style memory management and know that 
> there are no hidden GC allocations in your program. Whether you 
> would want to do this in D is another story.


Who want to use C-style memory management today ?
How about C++ style memory management, is this easy to this in D2
now ?
IMHO @nogc is the right direction.

But it would be great if one could compile at least this code.
int main(string[] argv) @nogc {
    writeln("Hello D-World!");
    return 0;
}


More information about the Digitalmars-d mailing list