Re: The Case for Rust (in the base system)
- Reply: fvalasiad : "Re: The Case for Rust (in the base system)"
- In reply to: Rob Norris : "Re: The Case for Rust (in the base system)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 04 Sep 2024 10:36:23 UTC
Hello Rob, > What I actually want though is high-quality tools to make the kind of > problems I need to solve easier for my puny human brain to manage. Rust > is an approach to solving some of these kinds of problems. Other > approaches exist, have existed, and will exist in the future. I'm interested in your opinion. Do the tools like PROMELA-SPIN used for some (critical) part of a C-sourced project will give more correctness and less error prone compared to rewriting project in Rust? Is there an actual possibility to make such a tools integral part of project? Wednesday, September 4, 2024, 11:03:13 AM, you wrote: > On 03.09.2024 11:31, Poul-Henning Kamp wrote: >> But first and foremost: There has to be a good enough reason. > This is a near-enough hook for me to hitch a couple of thoughts on to :) > I work on ZFS, primarily on Linux with slowly increasing amounts on > FreeBSD too. By a long way, the kind of work that is the slowest and > most complicated is around complex locking sequences across multiple > threads. In most of these, getting it wrong leads to some kind of data > corruption that is usually impossible to track down. > The appeal of Rust for me, as for many, is that there are ways to encode > those kind of sequencing rules into the type system so that the compiler > can tell you where you got it wrong. But, I don't actually want Rust _as > such_. I like it a lot, I've written useful programs in Rust over the > last decade, and I'd be perfectly happy to use it in kernel and > filesystem development if it was available. > What I actually want though is high-quality tools to make the kind of > problems I need to solve easier for my puny human brain to manage. Rust > is an approach to solving some of these kinds of problems. Other > approaches exist, have existed, and will exist in the future. > This is mostly aimed at the "C is totally fine" crowd. I like C, and I'm > pretty good at it, but it absolutely not good enough for many kinds of > software. Frankly, I find "just get better at C" to be the most > infuratingly facile "argument" against Rust. > (And I would _love_ to get better at C. If substantially better C tools > are out there (on whatever axis you like to measure that on), then > they're either not visible to me, or they're not usable or > well-integrated enough to be in my standard kit). > There's plenty of plausible reasons not to include Rust in the base > system, many of them being discussed on this list, and I'm learning a > lot reading along. Just please don't pretend the problems it's trying to > solve aren't real. > Cheers, > Rob. > -- > Rob Norris | robn.au | robn@despairlabs.com > Working on OpenZFS, because there's a lot of data out there and it'd be > nice not to lose any of it. -- Best regards, Anthony Pankov