3 ms·
What you describe sounds exactly like how Cap'n Proto works. Obviously I like that design since I wrote it. But it does have drawbacks. The encoded size is nec
by kentonv 6y ago
What you describe sounds exactly like how Cap'n Proto works. Obviously I like that design since I wrote it.
But it does have drawbacks. The encoded size is necessarily a bit larger to allow random access traversal of the raw bytes (though it compresses well). The API to manipulate structures in-place is a little awkward, particularly on the writing side. And, you can't really use the generated types as mutable in-memory state, as people commonly like to do with Protobuf types -- as a result, a common feature request for Cap'n Proto is to support generating "native" structs with the ability to convert between those and the zero-copy types as desired.
Everything is full of trade-offs. I don't disagree with your design preferences but I do object to the extreme line you are taking on them. You said: "Protobufs isn't useful for serious network applications." That is plainly contradicted by the existence of a trillion-dollar company built on said technology.