Objectives for the next year
Richard Laager
rlaager at wiktel.com
Sun Jun 20 21:45:19 UTC 2021
On 6/20/21 2:31 AM, Achim Gratz via devel wrote:
> Eric S. Raymond via devel writes:
>> My choice for a language to move to would be Go. Possibly one of you
>> can argue for a different choice, though if you agree that Go is a
>> suitable target I would find that information interesting.
>
> Since the last round of discussion both sides of the argument have been
> moving. If you believe that Rust will become a first-class
> implementation language for the Linux kernel, that would tip the scales
> in favor of rust considerably in my view. Most importantly that seems
> to ensure long-term support for one of the main target platforms for
> ntpsec. Both language eco-systems have drank a bit too much from the
> DevOps cool-aid (no, I don't trust any of your code registries or I
> could have installed an ntpd in Rust or Go already) and ntpsec would be
> well advised to figure out how to deal with the inevitable dependencies
> before it starts.
>
> I'd argue that Go would be a mistake for the daemon component and most
> of the library even without that consideration (Rust has deterministic
> runtime behaviour, Go does not -- by design).
That's my "gut feeling" too. It seems that Rust is more geared to this
sort of "systems programming" application.
I get the impression that Go has a shallower learning curve (i.e. is
easier to get started with), which is good, but may unfairly prejudice
Go in quick Go-vs-Rust "bake off" comparisons.
It also seems like a C-to-Rust conversion could be done incrementally.
Various big projects are using Rust for part, but not all, of their
application. I haven't tended to see that sort of thing with Go, but
maybe it is happening there too.
With the caveat that there is a LOT I don't know in this space, if it
was my call, I'd aim for an incremental conversion of ntpd to Rust and
leave the userspace tooling in Python. After the daemon is converted, I
would re-evaluate whether the userspace tooling should be converted.
--
Richard
More information about the devel
mailing list