>> 2/ If you read a structure, set more fields, and write it, you would
>> have to remember to set isset to true.
> I see what you are saying here. Again, though, this only bites you if
> you are using code that doesn't manage the __isset for you. Maybe I'm
> biased because I used java:beans and Ruby, both of which aren't
> affected by __isset issues like this one. Which other libraries are?
> For the ones that are, can they use getter/setter or property
> functions to simulate the same use pattern but still maintain the
> __isset properly?
C++ is the big one.  I'm opposed to using getters and setters in C++
because it leads to an unnatural coding style and possible performance
penalties.  I feel basically the same way about non-beans Java.
I'm not really sure about C#, Erlang, Smalltalk, etc.  isset doesn't
exist in PHP, or Python because it is unnecessary (all fields are nullable),
so optional is meaningless for them.

--David

Reply via email to