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.

Comments

  • bruce April 27, 2006 9:05 PM

    For a change, check out the attitude behind C#.

    http://channel9.msdn.com/Showpost.aspx?postid=159952

    Anders Hejlsberg, chief designer of C#, explains how simple can be elegant.

  • bruce April 27, 2006 11:40 PM

    I guess it depends on how you define 'power'. I believe that Ruby gives you more power *and* with more simplicity.

    However, to get that power you have to give up something. And that something is direct access to memory and performance.

  • bruce July 3, 2006 3:17 PM


    Strikes a chord with me..I read an interview with Gosling on DevX (Or some other tech publication) and came to the conclusion that either he is completely ignorant of the C# world or ...(dont want to be rude). For instance when asked what he thought about attributes in C# he just said "C# doesnt have attributes". Jaw dropping moment eh?

    Maybe Java doesnt call them attributes but thats what they are and IMO, if that part of the framework is under ECMA standardisation, then well an "Attribute" is what it is and what it will always be called.

  • bruce October 18, 2006 12:24 PM

    Herr James Gosling - please - for heaven's sake - always remember:

    JAVA WAS, STILL IS AND WILL BE A SOLUTION LOOKING FOR A PROBLEM.

    Use your computer brains in some other area - to create something more efficient... don't please ever again thrust another Java or Java like clone up someone's ARSE!

Leave a Comment

(required) 
(optional)
(required) 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS