On 5/7/15 4:15 AM, Dejan Lekic wrote:
On Tuesday, 5 May 2015 at 20:40:59 UTC, Luís Marques wrote:
Hi,

For a comparison with the Java language, I'm trying to come up with
some good examples of custom types that should be value types (but
that must be ref types in Java). I think the most obvious ones are
numeric types. So BigNum, MyNum, etc. are good examples because
programmers are used to numeric types being value types, and having
them suddenly become a ref type just because it's MyNum instead of
long is really annoying. Still, could you come up with some type that
would really benefit from being a value type but that isn't numeric
(or otherwise similar)?

Thanks for your help!

Luís

To add to what others have said - whenever you think you will benefit
from stack-allocation. Read this article:
http://www.ibm.com/developerworks/library/j-jtp09275/
Java is good at escape analysis. But I find it really useful to be able
to specify a type that will always be allocated on the stack (unless you
really want it on the heap).

(Not sure I'm not being confused about the topic.) A coworker mentioned they have big problems in Java whenever they need to return more than one thing from one function.

Reference types don't compose nicely that way. In a language with valye types, the juxtaposition of two items (value or reference) is a va;ue. In Java, it's a reference (so you need to allocate a new object etc.)


Andrei

Reply via email to