Hacker News new | ask | show | jobs
by Ar-Curunir 3289 days ago
I did not compare D to C, but rather to Rust, Swift, and Go. Compared to D, Go already has huge marketshare. Rust, similarly, excels in spaces that D does not endeavor to work in (no-managed-runtime settings), and is beginning to see adoption in areas where performance is critical.

From what I have seen of D, it provides a C++ without some of the cruft, but without trying to solve other issues with C++-like languages (for eg: usefulness of Algebraic Data Types). Why should someone choose D today over Go or Rust for any project? I have yet to see a convincing answer.

2 comments

Over Go: D has meta programming, exceptions, and many more useful features

Over Rust: No need to learn new concepts like borrowing

> Why should someone choose D today over Go or Rust for any project?

D over Go: D has much better language mechanisms for abstraction and programming in the large.

Go over D: Go has an incremental, mature GC.

Rust and D do not quite target the same application domains (though there's overlap), so it's difficult to compare them. Insofar as they do (D with @nogc and @safe), the tradeoffs become rather complicated.