Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 02 Jan 2019 09:39:24 +0100
From:      Alexander Leidinger <Alexander@leidinger.net>
To:        Eric McCorkle <eric@metricspace.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Speculative: Rust for base system components
Message-ID:  <20190102093924.Horde.emgnGNrkrouphKMcRHe0yT5@webmail.leidinger.net>
In-Reply-To: <ca76e5f7-6e59-bd67-144a-90ad66f0252e@metricspace.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format and has been PGP signed.

--=_LMLhx6bqGIoXRUpfbSeuB-z
Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Quoting Eric McCorkle <eric@metricspace.net> (from Sun, 30 Dec 2018=20=20
21:18:33=20-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.

--=20
http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF

--=_LMLhx6bqGIoXRUpfbSeuB-z
Content-Type: application/pgp-signature
Content-Description: Digitale PGP-Signatur
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJcLHi7AAoJEBINsJsD+NiGFrMP/0BkYzfXZVALVdeHf4NxGl7+
RI0LShlDgvRAVXoCVJG8a6ZkIVFjxqSaSkEoNspU6BpMXrvNG56ugJAz46O2Tq9V
ymY5s+nKFZzqxa0ri+9KnftYo4wQ0BQWc+y68be6kOsULlWpC7000lC9SZF+3HHA
jkdjj3wr4Y+qok7wLRL+XMEMehejwxFqKmGY1bQY15e25XE9p3xswGm+bmAUozlq
7Vdcz++sj2sSa+nhuU+mVaqv5zEefPfO+Vx65TuSykttPC1PLfQJDDENQ1wXNbSG
GAH1PXtyea8A1CyWuY3vfwUuRcLBCMi2+mnY8L/C5pBRo7zb54t2KonSXdQfpXtM
VgV5E49B5IZKb3sTXakc7wfOFwfYJZ5X4mislDhxcXfqdxbZSCsO0ipQIPMHcy60
NtDCc9kaDZAQWELT1PYdgfv2rWJ1gxiQSrtcMH9hAl8fONd81hD9CXa3Ut/Xl3pC
U9VMjqWTaWtDU9pgaKGTgFomNR5DlqvMy9UyFXnD7iWn63RwVKBqPeX1F5a8btWG
O6+R6dgRXxmSPr469PsOXc1JxmbNAhDr575VuVI8gOFsXD1wVR7o5i/Akt2kLcL8
4wjm1cL3UJdA7r6mS1dcP8vEhcWKq+3TKC8aR3mo7zdt1uLYON8YsnLRZFDcjwK7
MDp8T7VDKVgQdUeP+Mb7
=NAN6
-----END PGP SIGNATURE-----

--=_LMLhx6bqGIoXRUpfbSeuB-z--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190102093924.Horde.emgnGNrkrouphKMcRHe0yT5>