We’re not currently using Rust for anything and it’s not really on the horizon.
Pros#
- Rust is widely seen as a powerful system programming language, and an early experiment showed some tempting performance benefits over Go: I built an OpenStreetMap processing pipeline in Go and then over again in Rust, and the Rust version was more than 2x faster.
Cons#
However, for Agent IO development, Rust had some significant challenges.
Multiple gRPC and Protocol Buffer implementations were in use and no implementation had official support or an apparent full set of features. JSON serialization seemed important for an Envoy controller (to write the bootstrap file), and this required complex mix-ins that seemed to break Rust builds. Questions came up about this at a gRPC meetup in July 2024 and the gRPConf in August, where the Google gRPC team said that Rust support was “in progress” and in private development inside Google and wouldn’t be available until 2025. It appears that something will be announced at gRPConf 2025, but it’s quality will be TBD. Anyone who uses Rust for gRPC and Protocol Buffers needs to be prepared to own (and debug) the entire stack.
Rust prioritizes safety at the cost of development time (both code writing and builds are slower than other languages). This is not an ideal fit for a small skilled team.
There seems to be a bit of a dependency explosion in Rust packages. Building a nontrivial Rust program can involve fetching and compiling hundreds of subpackages, which suggests large supply-chain risks.