Replacing C
Eric S. Raymond
esr at thyrsus.com
Sun Jan 8 14:48:09 UTC 2017
Achim Gratz <Stromeko at nexgo.de>:
> The real question to
> ask, IMHO, is how many lines of code are implemented in the exact space
> that NTP occupies and how dependent the owners of that code are on
> keeping it working.
But how to define that space is itself not entirely clear. One of the
more intelligent comments in the (generally high-quality) discussion of
the "Getting past C" blog post argued that because ntpd is more like a
network service daemon than an OS kernel, Go is a better fit than
Rust. I think there is merit in that argument, and it suggests that
the YouTube service *is* "the exact space".
> > The out-of-left-field possibility I've been mulling privately is
> > Ocaml. But not very seriously; one of the criteria has to be
> > accessibility to future maintainers coming out of a C background
> > and Ocaml doesn't do at all well there.
>
> If you're considering systems that require a runtime (I'm not sure if
> OCaml still requires one, but last I looked it did), then somebody
> surely will bring up Java… :-)
Yeah, that's not going to fly at all. :-)
On the other hand, I don't consider requiring a runtime to be an
*intrinsic* disqualifier. The real question is, in my view, the
95th-percentile length of latency-inducing stop-the-world stalls.
If it's below 100 microseconds that is almost certainly good enough.
I now believe Go will pass that test and Java would not. As to other
languages...I could speculate, but I'd rather measure.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
More information about the devel
mailing list