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

Reply via email to