Java only gets 10mpg

I’ve never been a huge Philip Greenspun fanboy, but anybody who disses Java and SUV’s in one fell swoop deserves a link. Yeah, the quotes is as old as the hills (2003), but it’s new to me. And now I’m subjecting you to it, probably again.

A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. People who are serious about getting the job done on time and under budget will use tools such as Visual Basic (controlled all the machines that decoded the human genome). But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope. If a programmer is attacking a truly difficult problem he or she will generally have to use a language with systems programming and dynamic type extension capability, such as Lisp. This corresponds to the situation in which my friend, the proud owner of an original-style Hummer, got stuck in the sand on his first off-road excursion; an SUV can’t handle a true off-road adventure for which a tracked vehicle is required.

I experience this first hand every day. All the Java code I work with could be done just as well if not better in maybe 1/10th as much code in any of the much-maligned “scripting” languages. Plus it would be easier to test and maintain. What does the “strength” of Java buy? Nothing.

4 Responses to “Java only gets 10mpg”

  1. Christopher Smith Says:

    Yup, that is a very old quote. ;-)

    So, the new kids are playing around with Groovy or Rhino to get their jobs done quickly with Java. What’s your excuse? ;-)

    Really though, it is all kind of funny, as I remember the early days of Java when everyone thought it was great because they could get their work done in a fraction of the time it took to do it in C or C …. ;-)

  2. cp Says:

    Rhino I hadn’t heard of. Groovy suffers from the “if I want to use Ruby, I’ll use Ruby” problem.

    I think what it really boils down to is that I don’t feel compelled to use the Java platform at all when I already have a perfectly good platform in Unix and the C runtime.

  3. Christopher Smith Says:

    Rhino == Javascript running on the JVM (with nice Java integration).

  4. cp Says:

    You know, I never have gotten around to really learning Javascript. I should one of these days.

Leave a Reply


This is a free Wordpress template provided by Mathew Browne | Web Design | SEO