5 ms·
All the major Unix kernels are in C. If it continues this trend, it seems clear that new kernels in new languages will be needed, or existing kernels will need
by bluejekyll 9y ago
All the major Unix kernels are in C. If it continues this trend, it seems clear that new kernels in new languages will be needed, or existing kernels will need to be ported to other languages. A memory safe one would be cool...
- muricula 9y agoOr maybe C is uniquely suited to the task of writing a kernel, after all that's what it was designed for.
- Inityx 9y agohttps://www.redox-os.org/ https://www.redox-os.org/
- pjmlp 9y agoNot really, kernels were being written in HLL 10 years before C existed, and at strange places like IBM research. The only good thing about it is that the language is easier to write a compiler for, as it is basically a portable macro assembler, specially the K&R C variant.
- blattimwind 9y agoOperating systems were written in high(er) level languages a number of years before C, or UNIX, were invented.
- thehardsphere 9y agoWell, if you think that C is going to go the way of conversational Latin, that would probably be accurate. I doubt that's accurate, because: 1. The fact that fewer people are choosing C for other projects doesn't mean they can't or won't learn it for kernels. 2. Nobody has yet to produce a language that is clearly superior to C for systems programming. Otherwise, we would be seeing movement towards that language instead of Java and Python. The other thing to remember is that these are GitHub projects; the vast majority of them are not going to be kernels but application software or libraries. That would explain the moves from C to Java and Python; it's easier to write applications in those languages.
- bluejekyll 9y ago> clearly superior to C for systems programming. I would argue Rust already has.
- thehardsphere 9y agoWhen someone writes a system based on Rust, that claim will be much stronger.
- steveklabnik 9y agoWhat kind of "system" are you looking for?
- bluejekyll 9y agoSome of my favorite examples: https://os.phil-opp.com https://os.phil-opp.com https://github.com/helena-project/tock https://github.com/helena-project/tock https://www.redox-os.org https://www.redox-os.org https://github.com/redox-os/tfs https://github.com/redox-os/tfs https://github.com/intermezzOS/kernel https://github.com/intermezzOS/kernel The biggest application example: https://github.com/servo/servo https://github.com/servo/servo And some self promotion: https://github.com/bluejekyll/trust-dns https://github.com/bluejekyll/trust-dns ---- I encourage all programmers to check it out. You may discover like me, that Rust is a compiler and language which guards against all the hard learned lessons I've had over my career. It's an amazing language to program in.
- tomsmeding 9y agoI think Rust doesn't have the speed props for that yet. It might in the future, but that's probably one of the reasons.
- bluejekyll 9y agoRust has been shown to outperform C in some cases and in most be on par. This isn't scientific: http://benchmarksgame.alioth.debian.org/u64q/rust.html http://benchmarksgame.alioth.debian.org/u64q/rust.html