>At the moment, I’m only targetting a tiny subset of the D programming language. The language comes with a runtime, featuring a garbage collector. It’s my first journey to the land of D-asm.js, and there’s no way I’m bringing the D runtime with me – especially if I need to port it to Javascript first.<p>This is basically why D is not a good systems programming language. Theoretical GC performance aside, barring a miracle, they will never have the resources to develop a high quality GC and even less chance to maintain high quality ports across relevant platforms (heck they couldn't even compile on mobile platforms until recently).
Excellent work, perseverance proves!<p>D is a very good language, avoiding most of the pitfalls of C++. I have wondered why D isn't picking up. Even Facebook has abandoned Warp [1]. Other than the lack of corporate backup,<p>The complexity of the language gets out of hold as we move forward.<p>DMD is the official compiler, but it doesn't optimize as much as LDC/GDC does.
LDC/GDC is not available on the Enterprise platforms on which C++ is used (at least on the servers with RHEL/CentOS).<p>There are 3 different compilers and the resource is not concentrated on improving just one. I agree that competition is good for health, but when things are not picking up why not focus the efforts on making the better the best (probably GDC/LDC)?<p>Albeit few community members are very helpful and humble, personal attacks are a common thing in the forum.<p>The forum gives some hints [2], [3]<p>[1] <a href="https://github.com/facebookarchive/warp" rel="nofollow">https://github.com/facebookarchive/warp</a><p>[2] <a href="http://forum.dlang.org/post/vlosobeqnvfrfuriedpv@forum.dlang.org" rel="nofollow">http://forum.dlang.org/post/vlosobeqnvfrfuriedpv@forum.dlang...</a><p>[3] <a href="http://forum.dlang.org/post/hjaiavlfkoamenidomsa@forum.dlang.org" rel="nofollow">http://forum.dlang.org/post/hjaiavlfkoamenidomsa@forum.dlang...</a>
>An obvious enhancement would be to use the WebAssembly backend of the upstream LLVM, and then using Emscripten+Binaryen to convert the generated WebAssembly to asm.js.<p>why would you convert WebAssembly to asm.js?