[
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)