The version of Java for Solaris is a poor choice for many types of programs, is slow to load, isn't well-supported within Sun and requires too much memory to run, several Sun engineers said in the memo.
"We all agree that the Java language offers many advantages over the alternatives," said the memo, published Friday on the internalmemos.com site. "We would generally prefer to deploy our applications in Java, but the implementation provided for Solaris is inadequate to the task of producing supportable and reliable products."
Sun confirmed the memo's authenticity, but said that the document is two years old and that the problems it describes have been fixed. "It doesn't represent Sun's position or the reality of our implementation today. The issues mentioned in the memo are irrelevant at this point," the company said in a statement.
Java, a programming language and other software that can run programs, is a middle layer that makes it easier to move programs from one computer to another. Java programs, at least theoretically, don't have to be changed for each computer they're using. For example, Java programs should work on computers running either Sun's Solaris or Microsoft's Windows.
Java and Solaris are increasingly important at the Santa Clara, Calif.-based company as it seeks to emphasize the importance and value of the company's software working in concert with its hardware. However, much of the company's software push is for its Sun Open Network Environment (Sun ONE) server software, which doesn't depend on Java.
Java has taken off in servers, the powerful machines that handle data storage or processing on networks. It runs on servers running Windows, Linux, all major versions of Unix and many other operating systems. Sun has always argued, however, that Java runs best on Solaris.
In an interview at a product launch Monday, Sun Chief Executive Scott McNealy reiterated the point while touting Solaris.
"It runs Java like the wind," McNealy said.
The memo, however, paints a less flattering picture.
For one thing, the memo said, those in control of Java had decided against fixing some bugs and had made changes that prevented older Java programs from working with newer versions of Java.
For another, the Solaris version of Java requires huge amounts of memory--as much as 900MB when running TogetherSoft software, sinceby Borland. Even a basic program to print the words "Hello, world" on a screen takes 9MB, the memo said.
In contrast, Python--a programming language and associated software that's similar in many ways to Java--needs only about 1.6MB to run the simple hello-world program, the memo said.