The Future of Languages: Java vs Everything Else

I’ve been lucky enough to meet and talk with a lot of really smart people during my career. And by smart, I mean off-the-charts, jaw-droppingly brilliant. One of the things I have come to take for granted is that people that smart have the ability to see through much of the clutter and religious rhetoric that pervades so many technical discussions. Which is why I was surprised to read (via Don Box) about the comments that James Gosling, the father of Java, has about the current state of languages.

While (like Mr Box) I wasn’t surprised to see him knock C#, the rationale was not exceptional. Basically he said, Java is better because Java runs everywhere. This is a tired argument that lost any real weight when the myth of “Write Once, Run Anywhere” was dispelled.

But I found his comments about Ruby to be even more stunningly out of touch. While I can’t comment on PHP, I have been exposed to Ruby through the evangilizing of one of my partners, John Lam. It is definitely not restricted to producing Web pages, even though the web framework Ruby on Rails is the vehicle by which most people are familiar with Ruby. As for Mr Gosling’s comment on performance and scalability being a limiting factor, I find that a little disingenuous in light of Java’s history.

The scariest part of the interview is when Mr Gosling suggests that the only way to have power is through complexity. I would think that the goal of a programming language would be to reduce complexity while retaining power. I’m pretty certain that the introduction of C reduced the complexity of writing computer programs (as compared to assembly language) without reducing power significantly. I think that C# reduces some of the complexity of C++ without a corresponding reduction in power. I would expect that the next wave of languages will do the same. I really don’t like the idea of the braintrust of a language throwing in the towel with regards to complexity. That is the beginning of the end of that language’s reign. And if this is really the attitude of Mr. Gosling, I think that the future of Java is pretty bleak.