I agree with you both, Rick's suggestion sounds good.

On Thu, Mar 5, 2009 at 10:38 PM, Rick R <[email protected]> wrote:
> I'm for it, as long as there is a --non-strict compiler mode which allowed
> older messages (but printed a warning)
>
>
> On Thu, Mar 5, 2009 at 4:34 PM, Bryan Duxbury <[email protected]> wrote:
>
>> Hey guys,
>>
>> I wanted to run an idea past everyone. There was an email to the list a few
>> days ago about Ruby enum validation of implicit values that got me thinking
>> that Thrift allows a lot of design decisions that aren't really in line with
>> best practices. In order to achieve respectable forward and backward
>> compatibility, one of Thrift's main stated goals, there are a bunch of
>> things you *should* do, but that aren't enforced. For instance, implicit
>> enum values and optional field ids in structs and on service method
>> parameters. These are things that a careful Thrift user should never really
>> do, but since they aren't enforced, there's risk for new users to do the
>> wrong thing.
>>
>> My idea is that we should change the Thrift IDL essentially to force these
>> best practices on users. The obvious benefit is that even a new user will be
>> pushed to do the right thing, avoiding potential pitfalls in writing their
>> definitions. The downside is that .thrift files will be a little more
>> verbose on average. (It's also a non-backwards-compatible change, so
>> everyone will have to update their Thrift definitions.) At least in my mind,
>> it seems like the positives would outweigh the benefits, and it would free
>> us up to do things like get rid of autogenerated negative field ids.
>>
>> What are everyone's thoughts on this idea?
>>
>> -Bryan
>>
>
>
>
> --
> We can't solve problems by using the same kind of thinking we used when we
> created them.
>   - A. Einstein
>

-- 
Jérémie 'ahFeel' BORDIER

Reply via email to