3 ms·
"Actual systems programming" mostly does not involve unsafe code. For example, most OS code is _not_ interrupt hooks or malloc but the rest of the OS. Most of
by rtpg 10y ago
"Actual systems programming" mostly does not involve unsafe code.
For example, most OS code is _not_ interrupt hooks or malloc but the rest of the OS. Most of Postgres is not reading data quickly, but higher-level abstractions.
Large-scale systems programming will always be mostly higher-level abstractions, because that's the only way to write large programs. Name any "systems programming" OSS project, choose a random C file, and you'll see that most code does not require pointer arithmetic except because that's how you do things in C.
You don't bit-twiddle for 200k lines of code, so being able to limit dangerous stuff like that to the 5k lines that actually need it makes work an order of magnitude easier.
- anarazel 10y ago> "Actual systems programming" mostly does not involve unsafe code. True. Or slightly rephrased: Most of the unsafe code is centralized to some core pieces. From the POV of a PG dev: The big problem using something like rust for something like PostgreSQL is its it's portability, stability and uncertainty about where things are going. We do five years of back-branch releases (and for many that's not even enough!). Language and tooling around the new crop of languages simply aren't mature enough for that yet.