Lies About Java

Caveat: this page is way out of date, and is not scheduled to be updated

Java is too slow
Truth is, yes, Java was an interpreted language (it has used JIT compilation for years now, and even AOT on current Android). So in some applications it will be slow. The worst case is a large, client-side GUI application, where a large number of different classes must be loaded. For this, you probably need a modern machine with lots of memory for start-up performance to be seen as acceptable. Runtime performance is usually not a problem, as most of the clock time is spent waiting for the user to do something. Even here, in Java 2 JDK1.3, a lot of effort went into speed in GUI performance. Sun's claims of a 30% speedup are credible, but I have not tested them yet.

However, non-GUI applications are not nearly as slow. The ongoing improvement in performance has made speed a non-issue, particularly on the server side. All modern implementations feature a "just in time" translation mechanism whereby Java bytecode is converted at startup into native code, and thereafter, runs at the same speed as native code. Indeed, some studies reported in Info World showed Java to be within a few percent of C++ in some number-crunching applications. For web servers, it's a no brainer. Java is easier to write large, scalable, maintainable, commercial-grade applications in, and runs as fast as anything.

For the extra edge of speed, you can turn your Java code into real machine code. See my Java Resources Page for links to programs that do this for you.
Java vs Microsoft, again?
The following is taken from an article on ZDNet, Ziff-Davis' main web site, by Jesse Berst, Editorial Director of ZDNet AnchorDesk.
The Lies: Berst claims:
Sun's Crimes: Got the Internet community to back Java by pretending it would be turned over to a standards body, then reneged on the promise. Holds "friends" like Netscape to a different standard than "enemies" like Microsoft (Netscape's browser is actually less compatible than Microsoft's). Refuses to release the compatibility tests to independent labs for verification.
The Facts: They never promised to turn it over to a standards body, only that it would be an open standard. It was, and is. This is how Sun does things. They have also tried very hard to get the ISO involved, but keep some reasonable degree of control which, as the developers of the technology, they are entitled to do. But politicking (and the fact that some of the key meetings are held at Microsoft offices!) has so far prevented this from coming to pass.

Look at how Sun handled NFS, the Network File System (documented from the earliest days, and made an RFC internet standard), RPC (same, plus the source code freely available on the Internet), and how it's handled Java so far (documented, and library source code included from the beginning; full source code for internal use free on only a non-disclosure agreement).

Friends and enemies? No. Sun works with its licensees. Netscape have been co-operating in moving toward full compliance (and, for the record, shipped an almost-fully-compliant 1.1-based browser before Microsoft did, though it was a production browser with a Beta add-on). Microsoft has ignored Sun's warnings that they stop tinkering with the public API so soundly and for so long that Sun had to resort to getting an injunction to get MS to uphold the contract.

In summary, Sun have a better moral position in all this.

Also sprache Berst:
Berst (above) also wrote this truth about Microsoft:

Microsoft's Crimes: Promised to fully support Java, recruited developers to use Microsoft Java tools, then put those developers at risk by mounting a campaign to divide Java into two incompatible flavors, thereby ruining Java's promise of "write once, run anywhere."

It's pretty simple what's going on. And pretty sordid. Microsoft is the current dictator.

But then he had to add: Sun wants to be the new dictator, so it can manipulate the market the same way Microsoft has.

If you look at how Microsoft has comported itself over the years, vs how Sun has, you'll know how absurd that is. Certainly Sun wants to remain a dominant player in the computing industry beyond the lifespan of its UNIX products, and it has ensured this by introducing Java. If you look at Sun's history (NFS, RPC and Java, above), you'll know. When was the last time Microsoft offered you, for free, the source code for one of their key technologies?

Send me more!