top | item 34266162

(no title)

ttkciar | 3 years ago

D has been around for 21 years. It has had a compiler in the gcc project (gdc) for four years. It debugs easily enough under gdb. Several editors support D syntax (including geany and vscode). It has quite a few libraries (though its interoperability with C libraries has muted native D library development somewhat), centralized at https://code.dlang.org/

Are there specific parts of the ecosystem you worry about not being mature?

As for it being a bit esoteric, yes, it's not a very widely known language, though I'm not sure why. I fell in love with it in 2018, and it has thoroughly spoiled me for writing C.

discuss

order

vlovich123|3 years ago

Maturity in a systems programming sense is different. Rust had a lot of effort pored (and still going) into the nostd variant to be used in bare metal applications like microcontrollers and kernels. Does D have that same level of formalism?

On a more serious note, I’m skeptical D would take. It seems like Rust has captured mind share and already has ongoing substantial work integrating it into the kernel (+ it’s the first and only non C language in kernel mainline). Given that context, I don’t see the motivation that works spur a similar level of support from kernel maintainers.

spookie|3 years ago

I'm sorry, but shouldn't we critique Dlang itself instead of the constant comparisons with Rust?

Dlang has had significant work poured into it, and the project has delivered a quality language with safety in mind. I don't mean to be defensive, but these threads always seem to ask the same question, it's boring at this point.

ttkciar|3 years ago

> Rust had a lot of effort pored (and still going) into the nostd variant to be used in bare metal applications like microcontrollers and kernels.

D has had "dcompute" since 2017, for native execution on GPUs and other accelerators. People have been writing D for microcontrollers since at least 2011, possibly earlier. D is fairly mature in the systems space.

> I’m skeptical D would take.

Maybe, maybe not. Some languages "click" better than others for individual programmers. It's good to have options.

> it’s the first and only non C language in kernel mainline

Do you foresee it being the only non-C language used in the kernel forever?

Conscat|3 years ago

One big issue with D compared to Rust for performance-oriented code is the lack of move semantics. Rust and C++ idiomatically almost never rely on copy-on-write, whereas D so far has a lot of it. I'm not sure how much this matters for kernel modules, but I imagine that it is something users would consider. I had seen some proposals for move semantics in D, so for all I know this is under works right now.

destructionator|3 years ago

D rarely has copy on write.

It will just plain copy certain types on assignment though so perhaps that's what you meant.

p0nce|3 years ago

C++ code has a lot of copies actually.