[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Java

   > It seems to me that there are a lot of people on this list who are
   > very eager to criticize Java.  (Java is heavyweight, and thus Java is
   > bad.)  Perhaps it is largely because Java has gotten so widespread and
   > popular that it invites so much resentment.  

   Java is increasingly resented for a variety of reasons:

    1. It is widespread (Curl is proprietary but I'm never forced to
   program in it!)
    2. It hasn't earned its place fairly the way other languages have to 
    3. Sun refuses to standarize or open source it
    4. It is needlessly painful:

   Why doesn't Java have a glob module?[1] Why does it have to use
   "properties" instead of standard environment variables? [2] Why doesn't
   it have a concept of "current directory". [3] Why can't I do a string
   replace with an input string and an output string instead of characters?

For the record: I think Java *rocks*. It's one of the best things to
happen to the industry in a long while.

I see Java and I see hope that most industry programmers will be able to
program without having to use C or, worse, C++. I hope that C++ will just
wither away, and that C will become marginalised to niches like device
drivers. I like C. But it is the wrong language for most of the applications
for which it is used.

Beyond the language level, Java also holds out promise at the platform level.
That makes it a huge benefit to the industry in a second important way: it is
the first challenger that has had a prayer of wresting control of the delivery
platform away from a monopoly player, Microsoft. Microsoft's complete control
of the desktop platform was, in my opinion, a deadly thing for the industry.

You may not believe that the Java "platform" vision is real. I think that it
is. It is *astonishing* the degree to which enterprise computing has moved
over to the Java platform, courtesy standards like J2EE. These standards
mean that the platform is delivered by *multiple vendors* -- WebLogic/BEA,
IBM, Sun, etc. That is a very good thing.

There are languages that I like better than Java. There are kinds of programs
I would not want to write in Java. But it represents an enormous jump forward
for common practice -- essentially a jump in language technology from the
seventies to the eighties.

I also think the people steering Java, like Josh Bloch or Guy Steele, to
name two that I personally know of the many, are extremely tasteful engineers,
and that this skillful good taste has been well employed to produce what
we've got.

It is not perfect. But it is, to my eye, a very fine thing.