On Thursday, 8 February 2018 at 18:06:38 UTC, Walter Bright wrote:
On 2/8/2018 9:03 AM, Dave Jones wrote:
If D had a decent garbage collector it might be a more convincing argument.

'Decent' GC systems rely on the compiler emitting "write gates" around every assignment to a pointer. These are justified in languages like Java and Go for which everything is GC allocated, but they would be a performance disaster for a hybrid language like D.

More precise GC exacts heavy runtime penalties, too, which is why attempts to add them to D have had mixed results.

I.e. it isn't an issue of us D guys being dumb about the GC.

If going malloc didnt lose you a bunch of features and bring a bunch of other stuff you need to be careful of, that might be a good argument too.

With @nogc, you don't have to be careful about it. The compiler will let you know.

.NET, Eiffel, Modula-3 and the various Oberon variants are all examples where not everything is GC allocated.

C# 8.0 with .NET Native is getting the features I mostly cared from D.

Reply via email to