Speculative: Rust for base system components

Bakul Shah bakul at bitblocks.com
Mon Dec 31 13:31:45 UTC 2018


On Sun, 30 Dec 2018 21:18:33 -0500 Eric McCorkle <eric at metricspace.net> wrote:
>
> Go is not really a "systems language" in the sense that C or Rust are.
> It isn't a replacement for C so much as a replacement for python.
>
> What's more, it is almost universally disliked by people with a
> background in programming languages (I am one of those).  There's a
> couple of reasons for this.  First, it omits a number of features that
> modern languages *really* should include, parameterized types (generics)
> being one of the most glaring.  Beyond that, it completely ignores
> anything produced by modern PL research (unlike Rust, which benefits
> from that work).  Second, one of its main design parameters was "it
> should compile fast".  This as a design constraint basically guarantees
> that you can't do anything interesting in compilation, which rules out
> both advanced type systems as well as serious optimization.
>
> Unlike Rust, which offers substantial security and stability benefits
> through its type system, Go would do little more than just change the
> syntax of a bunch of code.  Moreover, it's likely that there would be
> performance consequences, given the design constraint of fast compilation

You haven't used Go at all, have you? No one is suggesting Go be
included in the base system but please stop spreading FUD.
While this is not the place to discuss Go, it is perfectly
usable for writing typical "systems" programs. Though I
wouldn't recommend it for writing kernel code.


More information about the freebsd-hackers mailing list