<story><title>D Programming Language</title><url>https://dlang.org</url></story><parent_chain></parent_chain><comment><author>nindalf</author><text>D is a niche language that didn&amp;#x27;t quite manage becoming mainstream. I came across an excellent article &lt;i&gt;Why your F# evangelism isn&amp;#x27;t working&lt;/i&gt; (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;ericsink.com&amp;#x2F;entries&amp;#x2F;fsharp_chasm.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;ericsink.com&amp;#x2F;entries&amp;#x2F;fsharp_chasm.html&lt;/a&gt;) that explains why this didn&amp;#x27;t happen for F#, but the insights generalise to other languages. Here&amp;#x27;s my summary:&lt;p&gt;- Adoption of any technology is by a normal distribution.&lt;p&gt;- The segments are early adopters, pragmatists, late adopters and laggards.&lt;p&gt;- If you want a technology to become mainstream, you need to make the pragmatists adopt it.&lt;p&gt;- This is rational behaviour and there&amp;#x27;s no use trying to convince the pragmatists otherwise. They will choose &amp;quot;predictably disappointing&amp;quot; over &amp;quot;excellent and unproven&amp;quot; every time.&lt;p&gt;- Technology is merely a tool to them. They don&amp;#x27;t care if it&amp;#x27;s fun or not, as long as it gets the job done.&lt;p&gt;- Mainstream success is impossible without getting the pragmatists on board. Until then you have a curiosity used only be early adopters.&lt;p&gt;- How to cross the chasm? He recommends finding a pragmatist in pain and solving their problems. Gradually convert pragmatists one by one.&lt;p&gt;I don&amp;#x27;t think D was ever able to articulate to the pragmatists why they should adopt D over C++ or other languages. Fixing a few warts with C++ wasn&amp;#x27;t enough.&lt;p&gt;Meanwhile Rust managed to appeal to the pragmatists by saying &amp;quot;we know you use C and C++ because of the performance despite the issues with it. Why don&amp;#x27;t you try a language with the same performance, which also fixes some of the issues (buffer overflows above all) at compile time&amp;quot;.&lt;p&gt;Rust was far from perfect when it started seeing adoption by pragmatists, and it remains far from perfect today. But perfection isn&amp;#x27;t the goal, nor is a &amp;quot;fun&amp;quot; language for early adopters. What matters is solving a problem that pragmatists face and then convincing them to give you a shot. In practice this is a bar that is high enough that most languages never cross it.</text></comment>
<story><title>D Programming Language</title><url>https://dlang.org</url></story><parent_chain></parent_chain><comment><author>lf-non</author><text>The nim language appears to have better gc and metaprogramming support while also offering most of the other advantages that D touts.&lt;p&gt;If someone more experienced in D could offer any insights around why someone should prefer D over nim for a new application outside low level applications where gc is absolutely undesirable, I&amp;#x27;d really appreciate that. I am not an expert in either.</text></comment>