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...