Oracle Blog

Danny Coward's Weblog

Touring Europe

The world kept turning, of course, as I was on the road for the last
couple of weeks. Part
vacation, part work: meeting up with our Java SE teams from Grenoble
and Dublin, and dropping in to the NetBeans team in Prague.

Mike Ernst and my new
JSR 308 passed its
inception ballot, which aims to extend the annotation mechanism first
introduced in JSR 175
by allowing annotations to be slipped into various hitherto
forbidden places. The expert group is open, so go nominate yourself if
have some spare time to devote to helping out.

While in Prague, a highlight was to meet the NetBeans
evangelists. Such a high energy bunch. Its like a Marketing bird
mated with the Engineering bird, and out of the eggs hatched this
brood.

Does it surprise you to know that Roman
is more effervescent in
person than
on his blog ?

[I haven't seen it yet, but if I look flustered, its because I, in a
moment of gallantry, allowed an elderly lady to go ahead of me on the
Prague Metro. You know, snowy haired, kindly looking, harried, grateful. But once
I had calibrated her glacial walking pace from behind, I had lost sight
of the rest of the NetBeans gang, any rational connection with
knowledge of the venue I was due to speak at in 10 minutes, and most of
my sanity. Thanks to Tim for rescuing
me...]

I already posted this in another blog, but perhaps this is a better fit.

In light of the enthusiastic adoption of dynamic languages, I think more emphasis should be given to the core capabilities of Java (JVM wise), and a little less to giving Java (the language) some of the features found in the much liked dynamic languages.

For example, I think rfe 46171974, immutable types, and rfe 4820062, which provides type based access to ByteBuffers (though it's ill-named as "Structs") can be big improvements to the platform with no changes to the language AND while encouraging good programming practices.

One of the major drawbacks of the JVM was its lack of support for numeric computations (much required in game programming, for example). An array of complex numbers is truly prohibitive both performance and memory wise.
Of course, escape analysis leading to stack allocation is a big improvement as well, but it does little for objects embedded in arrays, like in the complex numbers example.

Game programmers are also bothered by cumbersome access to direct memory buffers, required for graphics programming.

These two features add power to the PLATFORM, and therefore to all languages built on top of it.