more background to List<int> specializing List<Any>
brian.goetz at oracle.com
Mon Jan 5 03:00:20 UTC 2015
> - that there is too much concern on memory/performance and not enough
> on developer productivity - Java isn't C
We care a lot about developer productivity -- remember Java 8? But we
also have to pay attention to performance too. You might not care (and
that's great for you if you can avoid caring), but not all users have
that luxury. And developers spent ridiculous energy working around
boxing / objects.
Value types are not an end unto themselves; they power features that
offer productivity and performance both -- alternate numerics, tuples,
faster iterators, etc. (It's too bad they weren't around for JSR-310,
as you went to great effort to ensure that date-times behaved like
values, but you still had to pay the boxing cost anyway.)
Value types are also a huge boon for non-Java languages, who have to
represent other-language primitives in Java, such as numerics that don't
quite line up with Java's eight primitives.
So, I think what you're saying is there isn't as much for *you* in this
release as there was in other releases. And that's OK. We have a
diverse base of users, and we have to serve them all. Value types are a
foundational tool that will make a huge difference for a significant
category of users.
More information about the valhalla-dev