|Over the weekend I read Bruce Tate's book, Beyond Java. The first half was about the history of how and why Java grew so popular and what factors might cause people to move on to something else. The second half was about promising new languages and frameworks. Ruby, Ruby on Rails, and Seaside were highlighted in particular. Bruce thinks that if you are developing simple web applications that run on top of a relational database, then Java and its frameworks are just too complicated and cumbersome.|
There is so much hype about Ruby on Rails in the Java community, that I'm really anxious to try it out. Hopefully I will have some time over the holidays. The reason that Rails is so popular has to do with its creative uses of metaprogramming which is the ability to manipulate objects at runtime. Seaside looks interesting because it builds on the concept of continuations which is the ability to capture the state of a system so that a program can come back to it later. It allows you to do server-side web programming as if each web page was modal - and supposedly it makes the broswer back button functional and intuitive!
I was surprised to see it published by O'Reilly since I've always thought of O'Reilly's books as being more technical and factual and not trying to have a "point of view". Tate's book seems to be all "point of view" and belonging more in a magazine than a book. The whole book read like a long meandering blog post. What I got out of this book was a better understanding of meta programming and continuations, and those things seem really interesting. I'd really like to see someone try to develop a continuation server in java. I don't know if it is possible within the explicit support in the java language for continuations.
Even after reading this book, I am not worried about Java's prospects in the next 10 years. The Java community is rock solid and that can trump the technical advantages of other languages.