On Thu, Mar 3, 2016 at 8:16 PM, Josh Humphries <[email protected]> wrote:
> What do you think about creating issues for them on the protobuf github > project and then include links to the design docs? > These design docs were created for Google internal consumption only. Without some proper clean-ups, we can't publish them in the current form. > > Also, the addition of boxed types seems to be back-pedaling a bit on the > decision to make zero and absent indistinguishable for primitive types. > This seems to be a concession that the proto2 behavior was useful, but at > the expense of on-the-wire bloat for present values. > Yes, the proto2 behavior is useful in some scenarios, but it also posts a constraint (to support has-bits) on proto implementations and that makes the implementations in some languages more complicate and inefficient. The decision made for proto3 is a tradeoff that we hope can benefit the majority of use cases with an extra cost on a few use cases. > > > ---- > *Josh Humphries* > Manager, Shared Systems | Platform Engineering > Atlanta, GA | 678-400-4867 > *Square* (www.squareup.com) > > On Tue, Feb 23, 2016 at 6:34 PM, 'Feng Xiao' via Protocol Buffers < > [email protected]> wrote: > >> On Tue, Feb 23, 2016 at 12:55 PM, Zellyn <[email protected]> wrote: >> >>> There are increasing numbers of references to "well-known" types in >>> protos. For instance, I see changes in the Go implementation to support >>> them. >>> There were passing references in release notes in this group. >>> >>> However, the main protobuf site includes no narrative explanation that I >>> can find. >>> >>> The idea of a few well-known types to represent "Boxed" values since >>> proto3 removes the ability to null out fields makes sense, but the only >>> documentation I could find, in the reference section of the protobuf site >>> at >>> https://developers.google.com/protocol-buffers/docs/reference/google.protobuf, >>> includes all sorts of things like Struct, Method, Mixin, etc. that are >>> entirely unclear. >>> >>> Is there a conversation happening somewhere that I'm missing, or is it >>> Google-internal but not documented outside yet? >>> >> Sorry, the documentation for proto3 is not complete yet. We are still >> working on improving it. There are a couple of internal design docs for >> well-known types, but they are not yet ready to be included in the public >> developer guide. >> >> >>> >>> Thanks, >>> >>> Zellyn >>> >>> ps - the reintroduction of message types for primitives rather >>> undermines my belief in the arguments for removing optional fields in >>> proto3 in the first place. I'd like to give the benefit of the doubt to the >>> folks designing proto3: is the thinking articulated clearly somewhere? >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Protocol Buffers" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/protobuf. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/protobuf. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
