[ https://issues.apache.org/jira/browse/THRIFT-2429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13967882#comment-13967882 ]
Jens Geyer commented on THRIFT-2429: ------------------------------------ Thanks to both of you, and this interesting discussion. Being more on the paraniod side of software development when it comes to compatibility, I agree more with Ben's reasoning, but I'm absolutely aware of the fact that this is my personal opinion. And this is exactly the net essence (I think) we got from the above: Th eproposed change is a powerful tool that needs a knowledgeable hand. The same could be said about the {{rm}} command with Linux, to name just one, and there is certainly nobody who will prevent people from using it only because you can do bad things with it. In my humble opinion, allowing the optimization of {{optional}} fields by taking any default values into consideration is in general a good thing to have, and it conforms with the values laid out on the [about page|http://thrift.apache.org/about]. Along with freedom comes responsibility, making the Thrift IDL designer responsible for proper usage of the tool handed out to him. This discussion made a good point explaining all the relevant points, and I think we should integrate excerpts from it with the web site documention > Provide option to not write default values, rely on receiver default > construction instead > ----------------------------------------------------------------------------------------- > > Key: THRIFT-2429 > URL: https://issues.apache.org/jira/browse/THRIFT-2429 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler > Affects Versions: 0.9.1 > Reporter: Chris Stylianou > Assignee: Randy Abernethy > Labels: default, optional, required > > Would there be any objections to a patch that does not write default values > (essentially the same logic as the optional attributes). This obviously > relies on the receiving application using the same IDL version to ensure the > defaults used on object construction match the senders. -- This message was sent by Atlassian JIRA (v6.2#6252)