I suppose what I'm really wondering is: a) How does it simplify the language implementations exactly? b) Why was that not the case for *non*-primitives, which still have presence logic?
On Friday, January 16, 2015 at 6:39:56 PM UTC-5, Feng Xiao wrote: > > The reason for dropping field presence is more of the same with dropping > default values. Basically we want to simplify protobuf and make it easier > to implement efficiently in more languages. We are preparing the proto3 > documentation and will share more information about the trade-offs we have > made. > On Fri Jan 16 2015 at 12:17:25 PM V.B. <[email protected] <javascript:>> > wrote: > >> Can I ask for more details about why presence logic was removed (e.g. >> hasFoo() ) for primitives? This has been a very useful feature for us. >> >> >> 1. Removal of field presence logic for primitive value fields, >>> removal >>> of required fields, and removal of default values. This makes >>> proto3 >>> significantly easier to implement with open struct >>> representations, >>> as in languages like Android Java, Objective C, or Go. >>> >> -- >> 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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at http://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 http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
