Russ Cox wrote a great comment[1] on HN about why using the Plan9 toolchain rather LLVM or even GCC was a competitive advantage for them in terms of speed to delivery, control, and iteration.<p>&quot;Most importantly, it has been something we understand completely and is quite easy to adapt as needed. The standard ABIs and toolchains are for C, and the decisions made there may be completely inappropriate for languages with actual runtimes.<p>For example, no standard ABIs and toolchains supported segmented stacks; we had to build that, so it was going to be incompatible from day one. If step one had been &quot;learn the GCC or LLVM toolchains well enough to add segmented stacks&quot;, I&#x27;m not sure we&#x27;d have gotten to step two.&quot;<p>&quot;... the custom toolchain is one of the key reasons we&#x27;ve accomplished so much in so little time. I think the author doesn&#x27;t fully appreciate all the reasons that C tools don&#x27;t work well for languages that do so much more than C. Most other managed languages are doing JIT compilation and don&#x27;t go through standard linkers either.&quot;<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8817990" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8817990</a>