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.

Reply via email to