On Thu Jan 15 2015 at 1:10:10 PM Arjun Satish <[email protected]> wrote:
> Feng, > > Would it not be better to throw errors/exceptions when you try to > serialize to JSON (from languages like C++ or Java) or when code is > generated for these particular languages, rather than completely remove the > feature across the board? > My gut feeling is "no, it would not make it better". Proto3 is designed as a new protobuf language version with support for a wider range of programming languages. A consistent feature set is important for the interchangeability between languages. I don't think we'll make the proto3 support in C++/Java have more features than other languages (or vice versa). > > > > On Thu, Jan 15, 2015 at 12:16 PM, 'Feng Xiao' via Protocol Buffers < > [email protected]> wrote: > >> On Thu Jan 15 2015 at 7:01:33 AM Alex Antonov <[email protected]> wrote: >> >>> I fully second that opinion. We rely a lot on being able to set >>> explicit defaults that are not language defaults (Java 0, "", false, etc). >>> It puzzles me to even think as to why someone might want to take that >>> feature away!!! >>> >> The decision is made to make protobuf easier to implement efficiently in >> a lot of other languages that we want to support and for some features like >> JSON that we are going to add. I think we can all agree that default value >> is a useful feature, but it's not a mandatory feature to protobuf and >> creates real problems in the implementation of some languages (For example >> some languages may use a simple struct to represent a protobuf message and >> there isn't a way to specify default values. Or in the case of JSON, a >> client might have no way to know the non-0 default values.) >> >> >>> >>> >>> On Wednesday, January 14, 2015 at 6:50:37 AM UTC-6, Jeremy Swigart wrote: >>>> >>>> That sounds like a poor design decision, and one easily readded without >>>> breaking anything. If a field doesn't have an explicit default, you use 0 >>>> or whatever, thereby not breaking anyone not using them, but if an explicit >>>> default is provided that is used instead. I am using that feature as well. >>> >>> -- >>> 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 a topic in the >> Google Groups "Protocol Buffers" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/protobuf/ZRpcfmeGK6s/unsubscribe. >> To unsubscribe from this group and all its topics, 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]. 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.
