4 ms·
> C and C++ are the only languages used in widely deployed production OS kernels, so Fuchsia decides to only use them in its kernel, too. Frankly - who didn't
by nineteen999 7y ago
> C and C++ are the only languages used in widely deployed production OS kernels, so Fuchsia decides to only use them in its kernel, too.
Frankly - who didn't see this coming. The widely touted network stack written in Go will be rewritten in something else.
> Nobody seem to want to stand out and use e.g. Rust in the kernel, so the situation is perpetuated
Redox does, but it's still early days there apparently. I tried to boot it in VirtualBox a few minutes ago, following some instructions on StackExchange[1] but it didn't boot.
> How old was C again when it was used to write the Unix kernel?
Very young, as C was developed between 72-73[2], and the first rewrite of UNIX in C from PDP assembly happened in 1973 for V4, although it wasn't really _portably_ rewritten until 1978[3]). The C rewrite was the first version to support multi-programming; before that it was single-tasking.
(maybe you know all this, but I post the info to clarify for other readers who might not, and to underscore your point).
Also don't forget that UNIX source was reasonably available in those days, and both C and UNIX developed alongside the much simpler hardware of the day, and evolved with them. Hitting modern hardware targets, trying to provide modern OS features out of the gate, and using a newly emerging language seems to be a feat which is an order of magnitude larger IMHO.
[1] https://unix.stackexchange.com/questions/463192/install-redox-os-with-virtual-box https://unix.stackexchange.com/questions/463192/install-redo...
[2] https://en.wikipedia.org/wiki/C_(programming_language) https://en.wikipedia.org/wiki/C_(programming_language)
[3] https://en.wikipedia.org/wiki/Unix#History https://en.wikipedia.org/wiki/Unix#History
- _-___________-_ 7y ago> Redox does, but it's still early days there apparently. I tried to boot it in VirtualBox a few minutes ago, following some instructions on StackExchange[1] but it didn't boot. Worth giving it another go. I've been playing around with it in QEMU lately, and it even booted on my laptop (but I had no working input since it seems USB HID isn't implemented). It's an impressive project.