From: Mark Wilson Date: 2002-12-01T07:27:38+09:00 Subject: Re: Ruby ++, the one element and generators --Apple-Mail-2-258513705 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed I can't say I really understand the extensive discussions of ++, although some of the explanations are sensible to the ignorant (those in possession of partial knowledge) -- such as the shoebox, etc. I did read something that may be relevant in UML Distilled (2nd Ed., 9th printing, pages 92-93), although I didn't fully understand it: "Reference objects are things like Customer. Here, identity is very important, because you usually want only one object to designate a customer in the real world. ... Value objects are things like Date [Bignum, Fixnum??]. You often have multiple value objects representing the same object in the real world. For example, it is normal to have hundreds of objects that designate 1-Jan-99. ... Value objects should be immutable [emphasis added] ... . In other words, you should not be able to take a date object of 1-Jan-99 and change the same date object to be 2-Jan-99. ... In days gone by, the difference between reference objects and value objects was clearer. Value objects were the built-in values of the type system. [I don't understand what this sentence means.] Now you can extend the type system with your own classes, so this issue requires more thought. [I don't understand this sentence either, but it seems to suggest that the discussion of ++ involves ideas that are relevant to all programs, not just to the Ruby application itself.]" Any thoughts and/or explanations would be appreciated. --Apple-Mail-2-258513705 Content-Transfer-Encoding: 7bit Content-Type: text/enriched; charset=US-ASCII I can't say I really understand the extensive discussions of ++, although some of the explanations are sensible to the ignorant (those in possession of partial knowledge) -- such as the shoebox, etc. I did read something that may be relevant in UML Distilled (2nd Ed., 9th printing, pages 92-93), although I didn't fully understand it: "Reference objects are things like Customer. Here, identity is very important, because you usually want only one object to designate a customer in the real world. ... Value objects are things like Date [Bignum, Fixnum??]. You often have multiple value objects representing the same object in the real world. For example, it is normal to have hundreds of objects that designate 1-Jan-99. ... Value objects should be immutable [emphasis added] ... . In other words, you should not be able to take a date object of 1-Jan-99 and change the same date object to be 2-Jan-99. ... In days gone by, the difference between reference objects and value objects was clearer. Value objects were the built-in values of the type system. [I don't understand what this sentence means.] Now you can extend the type system with your own classes, so this issue requires more thought. [I don't understand this sentence either, but it seems to suggest that the discussion of ++ involves ideas that are relevant to all programs, not just to the Ruby application itself.]" Any thoughts and/or explanations would be appreciated. --Apple-Mail-2-258513705--