Monday, January 22, 2007

Is Java the new COBOL?

The lack of a Java runtime on Apple's new iPhone has raised some eyebrows. Especially since we know that Jonathan Schwartz, Sun's CEO, personally pitched Java to Steve Jobs. We also know that Steve said,
Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain...
which is an interesting statement to make about a language that was the way to do things only a few years ago. I've never personally liked Java that much, not because I think its a bad language, but because it doesn't fit well with the way I think. After a decade and a half writing Fortran and C code, and a brief couple of years writing Java, I'm at a loss to explain why anyone still writes high level software in a statically typed language. Especially one that forces you into a straight jacket about the way you build objects. I guess that's why I'm a Perl guy, although like a lot of Perl people these days I seem to be writing a lot of Javascript, and Python, and PHP if comes to that...

I'm not the only drop out of course, Jens Alfke has a theory that,
Java desktop apps succeed only in niches where UI design and usability don't matter: development tools and enterprise software. Programmers expect things to be crude and complicated... and the poor users of enterprise software don't have a choice...
which is another interesting statement about the language, obliquely making the point that Daniel Steinberg made in his recent article,
Developers are looking at Flash and at AJAX as platforms for rich desktop applications. If Java becomes irrelevant... then we will enter a new phase in it's life. There will be plenty of uses for Java for a good long while but we are entering the Fortan phase or the COBOL phase.
Of course it's going to be all that C code we wrote in the 80's and 90's that means we'll be pulled out of retirement in 2038 rather than the Java code we were writing at the turn of the millennium, but I take his point...

3 comments:

  1. For Apple to refuse to add Java to the iPhone because "no one uses it" is just a reality distortion field in full effect.

    The biggest mistake people make when talking about Java is thinking it is all about desktops, servers and applets, the biggest market for Java is the likes of *gasp* mobile platforms such as phones and smart cards.

    Java is alive and well and far from being the next COBOL, because it was the first real modern programming language, it has a niche hold that no other language can compete with in it's domain.

    The problem with Apple and Java has more to do with the fact that Apple has to support it's own customers as it isn't a Sun supported platform.

    ReplyDelete
  2. Strongly typed languages such as Java have more of a place in large enterprise developments where there is a lot of code base sharing coupled with business complexity. Most of the poor perception that Java has earned is due to poor programming and Sun dragging its feet over Windows native GUI integration. If Sun wants to keep Java alive it needs to improve Windows integration further and tooling. Eclipse and Netbeans need to become the new Developer Studio; they are good but the could do better.

    ReplyDelete
  3. To reiterate ...

    The biggest mistake people make when talking about Java is thinking it is all about desktops, servers and applets, the biggest market for Java is the likes of *gasp* mobile platforms such as phones and smart cards.

    ReplyDelete