As a new user, we still have need (C++ target) for default values, as well
as required fields (e.g., message headers for embedded target).
1) It appears that you are completely removing the default/required
capability from the proto3 language. Is this correct ?
2) Will the proto2 language be maintained going forward ? If so, then a
simple generation addition may work for the envisioned application. This
is to generate non-static default message content so that the copy operator
works simply, enabling applications to populate
changed fields with minimal coding effort. I looked into this
possibility before I saw this forum thread.
Thank you for your effort and reply.
Gilbert T Williams.
On Wednesday, January 21, 2015 at 2:33:59 PM UTC-5, Feng Xiao wrote:
>
> The proto3 design discussion has lasted for more than half a year and all
> of them happened as an internal process. We have a lot of design docs,
> email exchanges and weekly design meetings, but they are not available for
> public consumption. Currently we are preparing public documentations for
> proto3 and it's targeted to be publicized late this quarter.
>
> On Wed Jan 21 2015 at 6:00:35 AM Sumit Kumar <[email protected]
> <javascript:>> wrote:
>
>> Specially makes difficult for adoption in financial applications, the
>> has_field was one of the key reasons to migrate over to protofuf.
>>
>> Financial applications need differentiation in-between 0 value set and
>> not set. Eg: Limit order with 0 price is valid but with no price set is
>> invalid. Likewise market order with no price set is valid and with any
>> other price set is invalid (including the 0 value). And there are many
>> other cases, but anyway if the decision is made then not much value
>> discussing it.
>>
>> Regards,
>> Sumit Kumar
>>
>> On 17 Jan 2015, at 10:52 am, V.B. <[email protected] <javascript:>>
>> wrote:
>>
>> 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]> 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].
>>>> 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.
>>>>
>>> --
>> 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] <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.