Senior engineers at Sun Microsystems had serious doubts about using Java to build commercial applications for its Solaris operating system, according to a memo leaked on the Internet last week.
"While the Java language provides many advantages over C and C++, its implementation on Solaris presents barriers to the delivery of reliable applications. These barriers prevent general acceptance of Java for production software within Sun," said the memo, which was written by a Sun engineer and appeared last week on www.internalmemos.com
The memo appears as something of an embarrassment for Sun, suggesting that it had trouble implementing Java, which it invented, on its own operating system. Sun downplayed its significance, however, calling it "a two-year-old document which refers to an old implementation of Java technology".
"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," a company statement said. The author of the memo, which is undated, declined to comment, citing company policy.
It recounts a litany of concerns about Java that were shared by "several senior engineers" at Sun. Titled "The Java problem", it describes "the difficulties that keep our Solaris Java implementation from being practical for the development of common software applications".
Among them, it states that the Java runtime environment (JRE), a key part of the Java platform, was too large, which had a "drastic effect" on performance and system resources. It suggested the JRE could be reduced in size by around 80%.
It also faulted the support model for Java within Sun. Java upgrades were released every four to five months and introduced new bugs as well as fixing old ones. The upgrades replaced earlier releases entirely and could not be reversed in the event of error. Around one-fifth of Java bugs reported internally to Sun were quickly closed as "do not fix", compared with 7% for bugs involving C++, the memo said.
It recommended that Java should enforce backward compatibility requirements across minor releases, and that a system akin to issuing software patches be used to fix existing implementations. Outside vendors and customers were also affected by the problems.
The memo went on to say that the problems were not inherent in Java, but stemmed from Sun's implementation of Java for its Solaris operating system. The engineers at Sun agreed that Java offered "many advantages" over alternative languages, and said they would prefer to deploy their applications in Java were it not for the problems.
Giga Information Group analyst Uttam Narsu said the memo appeared to refer only to the implementation of Java for Solaris and should not be preceived as an indictment of Java.