4 ms·
It's the only real alternative implementation (and more precisely, a fork of upstream protobuf), _and_ there is strong cooperation [1] [2] between both projects
by q3k 6y ago
It's the only real alternative implementation (and more precisely, a fork of upstream protobuf), _and_ there is strong cooperation [1] [2] between both projects to maintain a level of interoperability.
And, it's not even protobuf I have a problem with - but things like HTTP implementations. There still isn't a canonical HTTP client/server implementation for Rust, while in Go basically everyone just uses `net/http`, or something that builds on top of that. Same for cryptographic primitives, TLS, context, ...
[1] - https://docs.google.com/document/d/19kfhro7-CnBdFqFk7l4_HmwaH2JT_Rhw5-2FLWLEGGk/edit# https://docs.google.com/document/d/19kfhro7-CnBdFqFk7l4_Hmwa...
[2] - https://github.com/gogo/protobuf/issues/386 https://github.com/gogo/protobuf/issues/386
- jeffbee 6y agoI imagine this stems from the fact that Go needed to be a complete production-ready backend language at launch, whereas Rust has other origins. At Google any "hello, world" program is a web server, at Mozilla not so much.
- bfrog 6y agoNot everyone uses net/http, and definitely not the builtin slower than python json marshaler.