Re: The Case for Rust (in the base system)
Date: Thu, 05 Sep 2024 07:23:12 UTC
Hello fvalasiad, Yes, I also think that there are young C developers, the problem is how to attract them to develop FreeBSD without money. This mail thread exist in hope to get Rust-developers to FreeBSD while there is a Rust-hype. People are trying to predict is a Rust-hype a longterm or shortterm. The next question is it techincally feasible. The next question will it perish FreeBSD concept in the future. The next question will the binding to Rust lead to deadlock as it was with Python 2.7-sourced projects having not enough strength to rewrite code for Python 3. In my opinion, If I understand things correctly. Wednesday, September 4, 2024, 4:57:34 PM, you wrote: > Being one of the young C developers you are referring to lain, right out of uni from some southern european country, allow me to share my experience. > The introductory class that teaches basic programming is done in C. Basic concepts like if statements, loops, structs, up to malloc(3) and free(3). > The backlog of students for that class is the biggest in the entire university, amounting to 700 people like 2 years ago, mind you the uni takes about 100 students per year. > Additionally, in 3rd and 4th year where students pick fields of study, the one I followed about hardware had barely 6 students in my year. Funnily, we all found a job in the field before we even left uni. > Most students, if not because of inadequacy, seem to not choose C. > I also haven't seem to met anyone entering the Rust cult either, they sure exist but they are also a minority. > While this is alarming, I don't find it impossible for this to come back around if demand rises in parallel with the paycheck offered for the job. Money is a great motivator especially if you are struggling to make ends meet. > Given how the funding situation goes with FOSS projects though, things aren't great as you all know! > Again, that's a completely biased experience cherry picked from a single computer science department in some small country, so take this with a mouthful of salt. > Fotis. > > On Wednesday, September 4th, 2024 at 1:34 PM, Anthony Pankov <anthony.pankov@yahoo.com> wrote: >> 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 -- Best regards, Anthony