Hacker News new | ask | show | jobs
by WiSaGaN 935 days ago
I would argue that Rust's success compared to D is largely due to its solution to a major problem in C++: memory safety. Beyond that, Rust and D both offer several improvements over C++ in various ways. However, these incremental enhancements are often insufficient to motivate a transition to new languages in an industrial context. This is because it's challenging to justify such a shift based solely on minor improvements that mostly enhance developer quality of life, especially considering the risks associated with interoperability with existing codebases, the availability of skilled developers, and the general preference for conservative approaches. Even with a significant improvement like memory safety, which significantly ups the value proposition, it took nearly a decade after Rust's 1.0 release to really gain traction. The power of established practices is formidable.
1 comments

People who are at home in a memory managed language tend to have little interest in a language that is slightly more low-level, but still memory managed. I believe that this is the main contributor to Rust's rise. Even if I suspect that most production Rust code is from people coming from the memory managed side, looking for a safer way to avoid any performance compromise.
The quest to improve Java and .NET low level capabilities, Swift, Nim, Chapel, Linear Haskell and OCaml effects, show otherwise.

Rust's sweet spot is on the OS layer, or bare metal workloads, where similarly to high integtry computing, no heap allocations are allowed, or only in very controlled scenarios.

I didn't say that there's no desire for low level capabilities: without that, nobody from managed environments would care about Rust. But to overcome the skillset inertia that keeps people in the language they are already good at, the gap needs to be bigger than "it's still gc, but the runtime is slightly more lightweight". I'd rather consider those projects as evidence of how high that "different enough" threshold needs to be.

Back in 2003 I loved the idea of D, even if I never used it. But then I also loved the idea of C++/CLR, so I would not put too much on my judgement. My opinion about D has changed far less: still have a soft spot for it, just not enough to make the jump