So this post...
http://blog.theincredibleholk.org/blog/2013/11/18/booting-to-rust/
..is interesting.
Why? Because it tackles one of the core reasons why C is hard to
dislodge.
Almost every CPU on the planet "Boots to C", perhaps with a very
thin crust of assembler.
To dislodge C in my domain (embedded systems), this would be a
very interesting and effective challenge to take on.
What would it take to "Boot to D"?
Or put it another way...
What base infrastructure does a D program rely on that the OS has
already provided before we hit "main"?
Typically things like stack setup, program load, register
initialization, zero'ing .bss segments and copying .data segments
into ram etc. etc.
Sometime mmap or sbrk for heap management.
What else, and where to look?