James Gosling, father of Java and chief scientist in Sun Microsystems' client group, has set out the challenges facing the Java programming language in an exclusive podcast interview with Computer Weekly.
With the growing sophistication of smartphones, Gosling said there was a need to offer the same level of functionality through Java on mobile devices as is possible today on desktop PCs. "Java is showing the strains of evolution," he said. "There is now a patchwork of extensions to support mobile devices."
There are two flavours of Java ME for mobile devices: CLDC (Connected Limited Device Configuration) and CDC (Connected Device Configuration). Gosling would like mobile phone makers to embed the CDC version in their products.
In 1995, when Java 1.0 was released, programming websites was quite restrictive and relied mainly on scripts run on the server. Today, in the age of the rich internet client, users can run fully-fledged interactive applications on their web browsers over the internet. However, Gosling dismissed concerns that the ability to access web services or build applications using open source code could make Java less significant.
"Web services do not perform well, since they rely on network connectivity. Applications using web services experience a six-fold performance hit," he said.
Open source is another option for coding applications, but, as an alternative to Java, it is equally restrictive, said Gosling. Although it enables cross-platform compatibility, as the source code can be compiled on any platform, he said, "When you compile an application for an open source platform, the code is not optimised for the platform."
Gosling said that Java was able to do this because the Java Runtime, a virtual machine which runs the Java application, could be optimised to run on specific hardware.
Gosling's other concern was with usability. Java was created as a universal programming language, but programming for the web was more like an art form, he said.
By falling short on some aspects of ease of use, Gosling said Java had opened the way for simple-to-use tools such as Macromedia's Flash, which offer an easier programming environment for content producers compared with Java. This was an area he said Sun and the Java community needed to address.
Comment on this article: firstname.lastname@example.org