salon premiumfind out morelogin
Salon.com
Salon SponsorBoxbar

[Arts & Entertainment][ Books ][ Comics ][ Life ][ News ][ People ][ Politics ][ Sex ][ Technology ][ Audio ]

Article Finder



Java: Slow, ugly and irrelevant

The programming language once hailed as a revolutionary breakthrough is no substitute for simply training good programmers.

By Simson Garfinkel
- - - - - - - - - -

January 08, 2001 | I hate Java. As a programmer, I hate Java, the language, for what it has done to the field of programming. As a journalist, I hate the relentless hyping of Java by its supporters, as well as their unending excuses as to why Java has failed to deliver. And as a technologist who has been involved with three major projects that have used Java, I hate the complications that Java has caused.

I will concede that it is possible to use Java to create small applications that are downloaded over the Web and run within Web browsers. Over the past month, I've actually run into two such Java-based applications that worked pretty well. The first was a Java-based mortgage calculator that dramatically shows the financial advantage to pre-paying your home mortgage -- paying just $50 extra on a $733 monthly mortgage payment can save you $40,196 over the course of an 8 percent, 30-year loan. I was also particularly impressed by the Yahoo Finance Java-based portfolio manager, which lets you rapidly compare a large set of stocks using dozens of different variables.

But such examples are exceptions rather than the rule. The vast majority of the high-profile attempts to use Java to create major desktop applications have failed. The reasons are straightforward. Java hype is built on the promulgation of two Big Lies. No. 1: Java is as fast, or faster, than other programming languages. And No. 2: Java is "portable" -- it is "write-once, run-everywhere" -- in other words, a Java program can be written once and then run on any kind of computer or operating system. But five years after Java's introduction, it is still slow and cumbersome, and not only has the "write-once, run-everywhere" promise not been delivered on, it's also turned out to not even be necessary.

Java is far from even being the first attempt at portability. Let's not forget that the original motivation behind the C* language, way back in the early 1970s, was to create a portable computer language. The theory was that a programmer would be able to take a program written in C and be able to run it on different computers simply by recompiling* the source code. And to this end, C has been tremendously successful. I have many programs that can compile and run on Windows, on Intel-based Unix workstations, and even on Sun Ultra-SPARC servers. One of the advantages of Java over C was supposed to be that programs would be able to migrate from computer to computer without having to be recompiled. But while the portability works most of the time, Java is not, and never will be, a replacement for C or its successor C++.

The creators of Java tried to make a better C++. But they ended up with a language that is ugly, hard to read and that requires an inordinate amount of typing because of a variety of pedagogical restrictions imposed by Java's creators. They ended up with a slow mess.


Next page | Java's history is littered with failure

shim

Please report any problems you encounter with the Directory.


shim

Salon  Search  About Salon  Table Talk  Advertise in Salon  Investor Relations
Arts & Entertainment | Books | Comics | Life | News | People
Politics | Sex | Tech & Business and The Free Software Project | Audio
Letters | Columnists | Salon Plus | Salon Gear
Reproduction of material from any Salon pages without written permission is strictly prohibited
Copyright 2002 Salon.com
Salon, 22 4th Street, 16th Floor, San Francisco, CA 94103
Telephone 415 645-9200 | Fax 415 645-9204
E-mail | Salon.com Privacy Policy | Terms of Service