On Friday, 29 June 2018 at 09:25:08 UTC, Mike Franklin wrote:
Please allow me to bring your attention to an interesting
presentation about choosing a modern programming language for
writing operating systems:
https://www.youtube.com/watch?v=cDFSrVhnZKo
It's a good talk and probably worth your time if you're
interested in bare-metal systems programming. The presenter
mentions D briefly in the beginning when he discussed how he
made his choice of programming language.
He shows the following (probably inaccurate) matrix.
Lang | Mem Safety | Min Runtime | Strong Type Syst. |
Performance
C | | x | | x
C++ | | x | | x
C# | x | | x |
D | x | | x | x
Go | x | | x | x
Rust | x | x | x | x
Java | x | | x | x
Haskell | x | | x |
Cycle | x | x | x | x
It appears the deal-breaker for D was the lack of "minimal
runtime". Of course D has -betterC and, with 2.079, a way to
use some features of D without the runtime, but he also goes on
to discuss the importance of memory safety in his application
of the language.
I hope we'll see something competitive with DIP25, DIP1000, and
the `scope` storage class, namely *memory safety without a
runtime*.
I'm currently waiting for 2.081 to reach LDC and GDC, and then
I have a few ideas I'd like to begin working on myself, but I
never have a shortage of ideas, just a shortage of time and
energy.
Enjoy!
Mike
This just isn't true. I've written a fair amount of a linux
distro in D without druntime/phobos or even the standard C
library.
https://github.com/marler8997/maros