Speculative: Rust for base system components
Alexander Leidinger
Alexander at leidinger.net
Wed Jan 2 08:39:33 UTC 2019
Quoting Eric McCorkle <eric at metricspace.net> (from Sun, 30 Dec 2018
21:18:33 -0500):
> Before I begin, I want to be clear that everything here is in the realm
> of speculative, long-term discussion. My goal is to start a
> conversation, not to propose anything concrete right now.
>
>
>
> I've talked at several conferences about the possibility of bringing the
> Rust programming language into the base system, with the intent of
> making it a viable implementation language for parts of the base system.
> I believe the potential security and stability benefits of doing this
> are *substantial*. This would obviously be a serious undertaking, but I
> think the benefits are worth the cost. For the rest of this mail, I'll
> outline my position and present the important facts that support it.
After reading this thread I see several issues here. The suggestion from
me here is to remove excuses.
The issues I see (no particular order, and you can replace "rust" by
anything which may or may not be better suited for the task):
- chicken and egg problem (solution: make it possible to use it easily,
e.g. bsd.rust.mk (name doesn't matter) as a port to try it, wiki page
to explain how to make it possible + HOWTOs regarding where and how to
use it (library/program/kernel module/...), links to code examples)
- if all what you know is a hammer, then every problem looks like a nail
(a lot of people seem to talk about things they have never seen...
me included, solution: links to examples / snippets of how what we do
currently can be done better with rust and descriptions about what rust
is doing for people which learned C 20 years ago and never looked at
something else and are not "language nerds")
- performance matters, at the same time it doesn't if we want safe code
(we don't talk about replacing everything with rust, time critical
parts can stay in C, new items may benefit from rust... solution: show
how to get (enough) speed, show how to reduce size (e.g. name this
non-standard compiler option instead of having people talking about
one), show that you get more (safety) with less (code)... this is
overlapping with the previous item)
You will not get a endorsement here, you will not get an approval here,
and you should ignore people which talk down the benefits. If you believe
in your opinion you need to remove excuses. Make a little item list of
what is needed. Make it public (e.g. in the wiki). Start with providing
possibilities. Mention what you have (When you have at least something)
in the periodic status reports, get some people to join to try it,
provide some interesting additions or replacements to let people evaluate
it.
Bye,
Alexander.
--
http://www.Leidinger.net Alexander at Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org netchild at FreeBSD.org : PGP 0x8F31830F9F2772BF
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digitale PGP-Signatur
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20190102/219eca15/attachment.sig>
More information about the freebsd-hackers
mailing list