Lately, the most talked about book in the programming language related blogosphere seems to be “Beyond Java”:http://www.oreilly.com/catalog/beyondjava/, a book written by Bruce Tate, published by O’Reilly. If I knew I’d have time to read it in the next couple of months I’d buy it, but I know I won’t.
Luckily, as I mentioned, there’s this thing called blogs which at least give me the gist of the book. Let’s first have a look at how O’Reilly describes the book:
Ok, first thing, this book is not really about Java in the sense in that you’ll learn neat Java tricks or to learn the language. It’s more about what’s “not great”:http://www.zefhemel.com/archives/2004/08/16/why-java-sucks “about the language”:http://www.zefhemel.com/archives/2004/09/03/a-better-java and particularly, it seems, why Ruby is much better.
Yes, Ruby seems to be the answer, at least that’s what all the blog posts I read seem to focus on. Why not Python? Well… I don’t know, probably because it’s lacking the killer app which Ruby does have: “Ruby on Rails”:http://www.rubyonrails.org. If you haven’t started learning or using RoR yet by the way, start now, all the cool kids do it. Ok, I’m sounding too cynical now, but actually I’m pretty happy RoR is taking off. Ruby is so much better than PHP and RoR truly is an amazing web framework.
But I’m getting off track. As I haven’t read Beyond Java myself, the purpose of this post was to link to some opinionated people that have, such as “Bruce Eckel”:http://www.artima.com/forums/flat.jsp?forum=106&thread=141312:
Just incidentally, in this post Bruce links to an “interesting page where somebody comments on Ruby’s Array API”:http://www.cafeaulait.org/oldnews/news2005December8.html, which is worth a read.
And “David Heinemeier Hansson”:http://www.loudthinking.com/arc/000551.html (the driving force behind RoR) replies:
What I think? I still don’t know. I’ve been working with Python for a while and a while ago started using Java again. I must say I love how Eclipse seems to understand my code, helps me with code completion, adding try/catch blocks and refactoring. I hate the idea to lose all that in a language like Ruby or Python. But it is pretty clear that in a language like Ruby you can achieve more with a lot less code. So, yeah, I’ll keep my spectator seat for now.