The Server Side's Java Symposium TSSJS 2011 was back in March so it is something of a mystery why the keynote given by James Gosling is only just receiving attention. Moreover the reports seem to be getting the wrong message entirely.
A number of news items are using the headline
"James Gosling Says He Doesn't Care About Java"
or something similar and we have a short sound clip presented as a video to back it up - see below.
However if you do listen to what is said the story is very different.
The point he seems to be making the point that the important part of the Java infrastructure isn't the language but the VM - Virtual Machine. The VM was the great idea of the late 1970s which can be best summed up as don't target a particular machine architecture but target a simulated machine that can be implemented on any other machine to provide a uniform operating environment.
This use of the VM idea allowed language designers to create tools and languages that would work on any machine that had a version of the VM. This was the start of the Java "write-once-run-many" idea that has never really worked in practice. Equally the VM allows mixed language programming because the output of the translators is to the same target. This seems to be the virtue that Gosling is promoting most.
"In the non JVM world being able to go back and forth between languages is almost impossible. In the Java world it's remarkably straightforward."
This is true but not always a wonderful idea as different languages used on the same project have a way of obscuring what is going on rather than revealing it.
Finally he says:
"Java happens to be a really good language for a broad spectrum of topics."
So he seems to think that the value in the Java ecosystem is in the JVM and for him, clearly, if Java was to be superseded by, say, Scala then it would still be the Java ecosystem.
Algorithms are behind everything we do - it is just that sometimes we don't notice or don't want to notice.We have lots of different algorithms for finding a date, but what about deciding if this is t [ ... ]