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
_______________________________________________
devel mailing list
devel@ntpsec.org
http://lists.ntpsec.org/mailman/listinfo/devel

Reply via email to