Re: [protobuf] What are well-known types?
On Thu, Mar 3, 2016 at 8:16 PM, Josh Humphrieswrote: > 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 < > protobuf@googlegroups.com> wrote: > >> On Tue, Feb 23, 2016 at 12:55 PM, Zellyn 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 protobuf+unsubscr...@googlegroups.com. >>> To post to this group, send email to protobuf@googlegroups.com. >>> 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 protobuf+unsubscr...@googlegroups.com. >> To post to this group, send email to protobuf@googlegroups.com. >> 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 protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
Re: [protobuf] What are well-known types?
What do you think about creating issues for them on the protobuf github project and then include links to the design docs? 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. *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 < protobuf@googlegroups.com> wrote: > On Tue, Feb 23, 2016 at 12:55 PM, Zellynwrote: > >> 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 protobuf+unsubscr...@googlegroups.com. >> To post to this group, send email to protobuf@googlegroups.com. >> 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 protobuf+unsubscr...@googlegroups.com. > To post to this group, send email to protobuf@googlegroups.com. > 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 protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
Re: [protobuf] What are well-known types?
On Tue, Feb 23, 2016 at 12:55 PM, Zellynwrote: > 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 protobuf+unsubscr...@googlegroups.com. > To post to this group, send email to protobuf@googlegroups.com. > 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 protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
[protobuf] What are well-known types?
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? 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 protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.