Book Review: Beyond Java by Bruce Tate (in the style of Bruce Tate)
A Glimpse at the Future of Programming Languages
Olly (November 29th, 2006)
★★★★☆
I read this book whilst kayaking down some level five mountain rapids. It was the first time I’d read it so I didn’t know what to expect. The sky was an ominous grey, there was an evil-looking rodent with a stripy tail staring at me but I felt prepared. I had read something similar before.
Java is a great language - the most successful ever. Remember when we were all C++ programmers? We had to navigate the treacherous waters of pointer arithmetic, header files, strings and it was a tough ride! Java came along like a breath of fresh air. The virtual machine, portability, Servlets: programming for the web was hip and easy!
It was going so swell on the rapids that we didn’t see the danger ahead. I hit a rock and dropped my book in the water - it was heading headlong for the waterfall. Now we had some real problems. I dived in after it but my prospects were not good. Mountain rescue eventually found the book and after three weeks in intensive care I stumped up the courage to pick it up and carry on.
I have a strong instinct for danger on the rapids and I’ve cultivated it to sniff out unhip programming languages. Several years on and Java is the enterprise king, with a royally bloated middleware to match. It has a room full of unfinished frameworks and XML hangs off them like cobwebs in my old attic. This one hasn’t aged gracefully.
Java was based on C++ which helped attract people to it in the first place, but boy did it pick up some bad habits. Primitives were an awkward mistake, static typing an unnecessary burden and as for Generics, well they fell out of the ugly tree when they were hit with the ugly stick.
What the world needs a new programming language. The Next Big Thing. A language that can match Java’s database/enterprise integration and friendliness, and have a killer application, and do all this with less bloat. And it must have dynamic typing, closures and continuations. Have you heard of Ruby?
I knew it was dangerous and every bone in my body fought against it, but I decided to read the second half of the book on my mountain bike, whilst travelling at breakneck speed down a 50% cliff face. Learning this kind of trick would take a while.
Like reading on a bike, metaprogramming feels unnatural. Want to see metaprogramming in action? Then check out Ruby on Rails. It’s much more productive than Java. In fact, I spent several weeks working on a system for a client in Java and rewrote it in four nights in Ruby! I took me a while to calm the client down but he came round in the end. Rails is so productive, and so much fun, but I’m not going to be drawn on whether it’s a Java killer despite the fact that I clearly think it is.
I almost forgot but there are other contenders. Poor old Smalltalk has Seaside going for it at least, Python is pretty cool but I just don’t dig it as much as Ruby. .NET is, well, .NET and Perl and Lisp will stay consigned to hackers and academics. Heck, you know, I’m not sure there actually is going to be a Java killer but you Java guys should watch out. Get outside, try something new and don’t go getting complacent. You do remember what happened to COBOL don’t you?
With apologies to Bruce Tate
Posted by Olly on November 29, 2006 at 10:45 pm in books, java, reviews
| Permalink

Genius!