Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jan 2024 00:50:29 +0100
From:      Tomek CEDRO <tomek@cedro.info>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Alan Somers <asomers@freebsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org>,  "Goran Meki??" <meka@tilda.center>
Subject:   Re: The Case for Rust (in the base system)
Message-ID:  <CAFYkXjkUPsUhjdhnMyHUOE5SciufXMHuPMAczQ2NSUFovGB=Rw@mail.gmail.com>
In-Reply-To: <CANCZdfrdwJPjVObeHweQnZa5KeqYXdkj%2BwFZ=36nBNKmX%2Bk64g@mail.gmail.com>
References:  <CAOtMX2hAUiWdGPtpaCJLPZB%2Bj2yzNw5DSjUmkwTi%2B%2BmyemehCA@mail.gmail.com> <CANCZdfrdwJPjVObeHweQnZa5KeqYXdkj%2BwFZ=36nBNKmX%2Bk64g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 20, 2024 at 7:37=E2=80=AFPM Warner Losh wrote:
> (..)
> So no, we aren't going to rush headlong into fullscale rust replacement o=
f 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 a=
n external toolchain, imho. Until we have that, 0 Rust will be in the syste=
m. We already can do ports... but if you want it more central the first ste=
ps will be in making it possible to build rust binaries at all in a repeata=
ble 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFYkXjkUPsUhjdhnMyHUOE5SciufXMHuPMAczQ2NSUFovGB=Rw>