4 ms·
I hope not. Between Protobuf and Thrift, I don't see the point of adopting a less efficient, even more niche NIH serialization format and RPC protocol.
by antonovka2 17y ago
I hope not. Between Protobuf and Thrift, I don't see the point of adopting a less efficient, even more niche NIH serialization format and RPC protocol.
- houseabsolute 17y agoMight be different if there were already numerous libraries that supported it but honestly if the extent of it is support in four languages (plus a few more that support the serializer) it's probably not worth wasting the effort unless it differentiates itself substantially from the existing solutions.
- blasdel 17y agoBoth protobuf and Thrift are designed exclusively around simple static type-checking with type-erasure. Neither support heterogeneous collections, much less discriminated unions or GADTs. There are plenty of untaken vertices in the serialization-format hypercube.
- antonovka2 17y agoHeterogeneous collections, discriminated unions, and GADTs can be implemented easily in either thrift or protobuf by leveraging inclusion of custom type-tagged messages/data. However, while the encodings are absolutely sufficient to represent these data structures -- if you so choose -- my experience dictates that keeping serialized messages typed and as simple as possible is advantageous from the perspective of long-term maintenance and interoperability.
- blasdel 17y agoOf course you can implement custom type-tagged blobs, but that's not using thrift or protobufs -- it's your own nebulous SOAP-style bullshit.
- antonovka2 17y agoThey're not "blobs" if they are also protobuf/thrift messages themselves.
- blasdel 17y agoThat's certainly cleverer, but it's still a nested user-implemented unsound type-system.