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

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

Follow

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)

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

@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

@lkundrak @sir Damnit, I didn't know the contest was over already. I was just warming up!

@Wolf480pl @lkundrak @sir bwahahahahaha...

I'd like to see more bitter old ladies to be honest. Bring forth the "golden girls" of the *nix world!

@mariusor @lkundrak @sir
Yeah I meant bitter old people in general. People who have seen enough to not buy in to hype or memes.

@sir Google likes prebuilts and stupidly puts them into Git. When downloading AOSP you're forced to download huge repos with binaries with history with prebuilts.

@a1batross why anyone admires the engineering culture at Google is beyond me

@a1batross @sir presumably due to Google using either centralised VCSes or "store binary files in a central server + DVCS" type solutions

Sign in to participate in the conversation
Mastodon

cmpwn.com is a private Mastodon instance for friends of SirCmpwn.