Another example:

Google Fuchsia's kernel is 199,570 lines of C, C++, and assembly, not including a suitable C/C++ toolchain (it uses GNU extensions, so we'll assume GCC is necessary - about a million lines of code). It supports two architectures, x86 and arm64. It takes about 22 minutes to build on server-grade hardware. It also doesn't work and is far from complete.

The entire self-hosting plan 9 system, including its compiler and entire userspace, desktop windowing system, text editors, POSIX compatibility layer, games, media players, and so on - is 268,001 lines of code. It supports seven architectures and takes less than 10 minutes to build the entire operating system on a raspberry pi.

Also worth pointing out that Fuchsia's kernel is an, ehem, "microkernel", in only the strictest sense of the word... so that number doesn't even include any drivers

Show thread

The Minix microkernel (which I can say with a straight face) is ~18,000 lines of C, supports two architectures, and is deployed in production spying on your computer from ring -2

Show thread

Bonus: Fuschia uses their own Clang and GCC toolchains (yes, both), so you have to build those first, or download their pre-built binaries (lol) (which only support glibc-based systems, of course)

Show thread

I may have become distracted from hating on Rust by hating on Fuschia

Show thread

@sir You can turn that back into hating Rust, as Fuschia(the OS) has more Rust code than C++

@ignaloidas oh nice, so that number is more like a half a million lines of code. Should take weeks to compile at that rate

@stevenroose @ignaloidas perhaps once you get closer to userland, but I'm talking about the kernel

@stevenroose @sir It's not all written in rust. The (micro?)kernel is written in C++, other lower level stuff is a mix between C++ and Rust, and then I think Dart for the user facing stuff.

@ignaloidas @stevenroose Zircon is a microkernel in the same sense that The Rock is a small animal

@ignaloidas @stevenroose extending the metaphor, plan9 is good in the same way that child labor is

@stevenroose @ignaloidas @sir the apps are supposed to use Flutter UI toolkit, which is Dart based
Sign in to participate in the conversation
Gamedev Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!