An article in today's USA Today really got me thinking, and though I'm expecting the Java fans in the audience to be up in arms over this, I have come to one undeniable conclusion:
Java is evil. Let me be more specific: "Pure Java" is evil.
OK, that's sort of a blanket statement. But let's look at the facts. Kevin Maney writes a weekly Technology column for USA Today. This week's column focuses on the strange--but very real--parallel's between Java, the Sun programming language, and Communism, the failed ideology. Now, I'm not preaching some 1990's version of the "Red Scare" here, but as a former programmer and someone who is obviously very interested in the computer industry, I'm more than a little nervous about the popularity of Java as it is now. Here's the reason:
Java levels the field, making all clients--that is, systems run by users-- equal. This means that a Mac owner using Java is equal to a Windows owner using Java. They are both equals to the guy running Java on his old 486 with Windows 3.1. This sounds like a good thing when you hear Sun talk about it ("write once, read everywhere" or whatever the marketing-speak is this week) but the truth of the matter here is that we choose our computing systems very carefully and we do so for specific reasons. A person who buys a Mac, for example, might be interested in high-end desktop publishing or graphics work and may use multiple monitors. Windows users are looking for the best selection of software--be it business apps, games, or whatever--and have come to expect programs to look and run a certain way. Mac owners don't want their applications to look like Windows programs (witness the disaster known as Word 6.0 for the Macintosh). Likewise, Windows users don't want their programs to work like Mac programs (Fractal Design Painter comes to mind). Pure Java would make every system the same, or "equal."
It must be stopped.
Surveys have concluded that people want more speed and power out of their computers, not less. Intel could have made more advances in motherboard technology in the past five years, but people wanted raw speed, and to the masses, that means processor MHz. Microsoft could have componentized Office years ago, and not kept adding feature bulk, but frankly, that's what people asked for. Real users don't want to download light applications over the Internet to edit text, they want to have these programs locally, right on their huge hard drives. That's human nature, I guess. When I hear about upcoming 300 and 400 MHz CPUs, I want one. When I hear about little Java terminals, I just laugh.
In the Java world, we're all equals. We run identical hardware and run the same small programs. The irony, of course, is that this "dream" requires some pretty hefty hardware on the server side and this is where Sun is really hoping to make some cash. You see, Sun makes servers. Big, industrial-strength servers. Their Java gospel is all the more insidious when you consider that part of their plan includes the state-run, excuse me, the Sun server farms that will be needed all over the world.
There are bigger problems, though. Conformity breeds mediocrity and the lack of competition will be stifling. The reason Windows is so great today is that the MacOS and even OS/2 were there for years, offering up (at the time) superior technology and user interfaces. Had these products not existed, Microsoft would have had little incentive to improve Windows so dramatically. In a "Pure Java" world, there will be a similar lack of incentive to improve hardware and software and the free market of computing we so soundly enjoy today will be over.
Don't let this happen.
Now, I'm not an anti-Sun person, though I'm a little sickened by their attempt to out-Microsoft Microsoft. I'm also not an anti-Java person, though you may think I am. I am somewhat of a fan of Java. The programming language, that is. Not the NC OS. Not the "Pure Java" baloney Sun is preaching. Programming languages become great when they are improved for the sake of particular platforms. Ugly little BASIC is now the elegant and best-selling Visual Basic 5.0. Nobody really programs in ANSI C but Visual C++ is a great tool for Windows and I understand that CodeWorks has a similar position in the Mac world. If we could only program in ANSI C, Windows and the Mac would not the be the beautiful, elegant platforms they are today. They would be ugly. They would be wrong.
They would be like Pure Java