Re: The Case for Rust (in the base system)

From: Tomek CEDRO <tomek_at_cedro.info>
Date: Sat, 20 Jan 2024 23:50:29 UTC
On Sat, Jan 20, 2024 at 7:37 PM Warner Losh wrote:
> (..)
> So no, we aren't going to rush headlong into fullscale rust replacement of all the things. However I'll note Linux hasn't done that either. They are taking a one step at a time approach. Step one is build integration with an external toolchain, imho. Until we have that, 0 Rust will be in the system. We already can do ports... but if you want it more central the first steps will be in making it possible to build rust binaries at all in a repeatable way.

Good points IMP :-)

Aside from complex and quickly changing / evolving / time and energy
consuming dependencies this is a different programming language that
requires solid group of developers while most people already know C
they would have to invest time to learn Rust and its environment.

All this puts heavy weight into core OS that was always minimal and
expandable with the ports tree and I would love it to stay that way.

Solid backward/forward (and self) compatibility and long term
maintenance are the strongest parts of the FreeBSD.

Also new Rust tools can be implemented as ports to provide "new" and
"better" functionalities competing with existing tools but not to
replace them. If that works don't fix it + freedom of choice versus
history rewrite :-)

I should add here some positive remark that I am aware of efficiency
of some Rust tools that could not be implemented otherwise. For
instance ARM's CMSIS Pack Manager is implemented in Rust (even as
Python module) and only this approach provided decent efficiency as
compared to previous C/C++ implementation. This is additional module
to pyOCD (On-Chip-Debugger utility implemented in Python) that
provides important but still _optional_ and _external_ functionality.
This tandem works fine and people have a choice on what they want to
use.

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info