Thursday, March 18, 2004
instant webserver, just add python

python -c '__import__("SimpleHTTPServer").test()'

(from Daily Python-URL)

11:03:27 AM    comments ()  trackback []  

don't I wish

The End of the Java Ice Age?

I love the title of that post.

In one of the other articles referenced in the post, Glenn Vanderburg talks about the 4 things that he liked about Java that seem to get lost in the noise. To him, they were:

  1. the virtual machine
  2. garbage collection
  3. methods "virtual" (in C++ parlance) by default
  4. a singly-rooted class hierarchy

Let's look at #1 and #2: I had been programming in the Smalltalk world for awhile when Java came about, and VM+GC are just the best things in the world as far as I'm concerned. Interpreted languages are where you see most of the most interesting developments (I'm hedging about saying "all," but I can't think of anything really exciting in a completely compiled language recently).

I have to admit to being not all that excited by #3, because I'd always thought that the whole "virtual" thing was unnecessary, and actually a bit of a wart on the whole OO experience. I shouldn't have to anticipate which methods could get overridden, and furthermore, it's rather annoying when I'm using another developer's code, and I need to override a method that hasn't been declared virtual. Ack. So I guess I can see why it would excite people, but that in and of itself would not have brought me over from the Smalltalk world.

What about #4? I dunno. I think I'm on the fence. Multiple inheritance, like in Python, can be quite useful to quickly and simply aggregate functionality, but it can be tricky taken to the extreme. On the other hand, single inheritance hierarchies have had some interesting work done in them, although Objective-C did the interesting work that most people attribute to Java.

To circle back to the original point, I'm tired of programming in Java. I'm tired of the fact that most of the paying work is with Java (or with some .Net technology). I wanna get paid to do Python or Cocoa. Correction -- I want to get paid enough doing Python or Cocoa to make my house payments.

Java is soooo 1995.

9:20:40 AM    comments ()  trackback []