4 ms·
> I highly encourage any greenfield project to look into well designed and better specified alternatives. By way of recommendation: I reach for protobufs to do
by 35fbe7d3d5b9 5y ago
> I highly encourage any greenfield project to look into well designed and better specified alternatives.
By way of recommendation: I reach for protobufs to do data interchange between polyglot systems and have yet to be disappointed. Even if you aren't getting into gRPC, having data interchange backed by codegen and an IDL removes a lot of the risk you get with data interchange.
- avmich 5y agoIn my experience JSON allowed absence of codegen and superior schema definition capabilities to protobuf, and also nice transformations with parts of jq built into JSON libraries. Try to limit structure complexity to something which can be verified before usage, yes. YMMV.
- theamk 5y agoIn my experience, protobuf has a minimum project complexity threshold before it starts to make sense. Yes, if both sides of your interchange are systems which have build infra setup, it provides a better experience. But if you need to access data from outside of your usual projects, or from shell, or from random data analysis notebooks, It becomes a major pain. Recent example: we’ve had an orchestrator script which was written in “python with stdlib only” - no build step, download an archive, extract and run. This script had to talk to third-party program which would export protobuf only. This was a major pain as yon can imagine.