<story><title>Driving with D</title><url>https://dlang.org/blog/2021/06/01/driving-with-d/</url></story><parent_chain><item><author>fnord77</author><text>Any reasons D never caught on more?  No big tech company anchor behind it?</text></item></parent_chain><comment><author>Diggsey</author><text>I used D for a while. It improves several things over C++, among them:&lt;p&gt;- More powerful metaprogramming capabilities.&lt;p&gt;- Better module and library system.&lt;p&gt;- Nicer syntax.&lt;p&gt;The problem IMO is it&amp;#x27;s just not enough to justify a total move from C++ -&amp;gt; D. The syntax of C++ can&amp;#x27;t really be fixed, but the other aspects can be improved without a new language.&lt;p&gt;Furthermore, many of the other downsides of C++ are still present:&lt;p&gt;- The complexity of the language, and then the sheer number of different ways of doing the same thing.&lt;p&gt;- Some pretty dark corners in the way stdlib&amp;#x2F;language feature were implemented that seemed hard to ever fix.&lt;p&gt;- The way behaviour is specified in the language is very tied to the underlying hardware: rather than explicitly describing behaviour in terms of an abstract machine, it works more in the way C++ is specified where we all know it operates on an abstract machine thanks to compiler optimizations, but the spec likes to pretend it doesn&amp;#x27;t...&lt;p&gt;And then there are problems that are introduced by D, such as the fact that a safe subset exists, but depends on GC, so there&amp;#x27;s a weird split where no &amp;quot;safe code&amp;quot; can be used in contexts where GC is unsuitable.&lt;p&gt;Contrast this to Rust, where:&lt;p&gt;- There is a true step-change in bringing safe code to &lt;i&gt;all&lt;/i&gt; contexts, not just those where GC can be used.&lt;p&gt;- It&amp;#x27;s missing a lot of the complexity of C++. Rust is hard because it has concepts that are foreign to a lot of programmers, but the total number of features is low (compared to C++) so there are fewer surprising ways they can interact.&lt;p&gt;- Rust is a suitable replacement for C, not just C++, because it&amp;#x27;s not just adding more features.</text></comment>
<story><title>Driving with D</title><url>https://dlang.org/blog/2021/06/01/driving-with-d/</url></story><parent_chain><item><author>fnord77</author><text>Any reasons D never caught on more?  No big tech company anchor behind it?</text></item></parent_chain><comment><author>systems</author><text>As far as I know D&amp;#x27;s original design strategy, was to be a simpler to use C++ with a GC, but with the same expressive power&lt;p&gt;Over time, this proved to be a bad strategy, C++ key strength became RAII (deterministic memory management), so the GC became a failed strategy&lt;p&gt;The maintainers tried to move in different directions, adding manually memory management, making the GC optional, moved D to be a C replacement, with the -betterc compiling option, and many other tweaks and features added overtime, but nothing really caught on</text></comment>