Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't think it is slower, the real answer is 'it depends'; D's GC will only run when the GC needs to grow its buffer, so D's GC can be actually much faster than Go's

The problem however is, actually 2 problems:

- stop the world, nobody wants that in a world with lot of cores and threads

- it doesn't scale, the more pointers in your heap, it'll need to scan and traverse your WHOLE heap whenever it needs its buffer to grow, and that doesn't scale well

So it's good when you don't have much in your heap, and it starts to loose its benefits the bigger your program become, i wouldn't use it for my servers

But that's not the main problem of D, since the GC is optional, it's just not competitive with what's available in the market today

The people who want to drag D into the Java/C# territory are the problem in my opinion

D would be better if it focused being a system language, and took what C had to offer and put it to the next level, simplify the language, boost the existing features, allocators, pattern matching, tooling, compiler performance, hot-reload, binary patching

That's the thing i want to hear when there is a new version, not the endless GC topics



> The people who want to drag D into the Java/C# territory are the problem in my opinion

Absolutely and that's the majority of D community.

> took what C had to offer and put it to the next level

ImportC is a fantastic stuff that Walter is working on.

> simplify the language

Sane defaults, but the ship has sailed. Reminds me of a talk Scott Meyers gave a while ago "The last thing D needs (is to hire him)". I think it's time they hire him.

> compiler performance

Rather focus on just LDC or GDC and drop DMD altogether. DMD is a good piece of software, but for such a small community, I find it alarming that they waste human effort across 3 different compilers and still complain lack of resources.


> ImportC is a fantastic stuff that Walter is working on.

I agree, it's one of the things that stands out when you decide to pick a system language: "how does it play with C? can i easily consume the ecosystem?"

> Rather focus on just LDC or GDC and drop DMD altogether. DMD is a good piece of software, but for such a small community, I find it alarming that they waste human effort across 3 different compilers and still complain lack of resources.

I disagree, there is value in having your own backend, DMD compiles so fast, it's a comparative advantage, they should never give that up

GDC/LDC are great because that allows D to be highly portable, even if they are slower to compile than DMD

Even Zig people decided to maintain their own self hosted backend for that reason, performance and independence

They learnt from D, a real language has its own backend, if you don't then you are just LLVM sugar


>> GDC/LDC are great because that allows D to be highly portable, even if they are slower to compile than DMD

So you'd use DMD for development because it compiles fast, and once debugging/testing/etc are completed, you build the "production release" using LDC/GDC?


Yup, many use that approach


LLVM sugar. Agreed indeed. Independence is good.

No problem with LLVM, but multiple implementations is healthy. And in any case I'd probably think it makes sense DMD came into existence alongside the idea of D first seeing Walter's experience (and well lack of LLVM back then).


Java/C# territory is already better than D, even for low level programing, because in the last 10 years that D spent changing projects to atract the next wave to the language "because we need X for Y", they grew out of where they were in 2010, when Andrei's book came out.

D doesn't even have hardware vendors shipping commercial embedded SDKs for baremetal development like Java, C# and Go have in 2022.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: