<pre>Author/s : Bruce A. Tate Publisher : O'Reilly Category :Advanced Java Review by : Mark Spritzler Rating : 8 horseshoes</pre> First I have to laugh. Because this is one of those books where the author is either trying to get people mad, just to see their reactions, or they really know what's going on and are the first to say so, and therefore be burned at the stake. Or they are just morons who have no clue. I think after a number of reviews have come in for this book, I think you will find all of them cover the above three.
First, this book makes me think and makes me want to look further into Ruby on Rails and continuation servers. They sound interesting. Second, some of the things Bruce says in this book seem to contradict themselves when it comes to him sounding off at Java's shortcomings.
First he says he doesn't like the "verbosity" of generics (Java 5.0), then he talks about having to use Iterators and the code you have to write to loop through Collections (Java 1.4). Meaning that for his argument, he'll use Java with version 1.4, and in another he'll use Java 5.0 But only to "prove" his argument. He jumps back and forth. I can do that in any language, use a fault in a much older version to use in an argument about the version today.
I think some of his "pluses" for using Ruby is because he hasn't used a dynamic typed language before, and not seeing the trade-offs and other maintenance problems that come with dynamic typing. We'll have to see.
I also respect Bruce, because I really enjoyed his Better Faster Lighter Java book.
Buy this book for the entertainment value from either side, the I want to beat him up, to I completely agree with him 100%. Either way you will have fun reading it.
Sure hope you actually check up on this review...it has been nearly a year now!
I am about two-thirds the way through the book and it has got me thinking on many fronts...am itching to discuss it with someone.
Because this is one of those books where the author is either trying to get people mad, just to see their reactions, or they really know what's going on and are the first to say so, and therefore be burned at the stake.
Burned at the stake is my guess! Tate repeatedly makes an effort to soften his Java critique and often mentions that Java has its place in the world and is not going away anytime soon. Yet there are people out there reacting like he insulted their mothers!
First, this book makes me think and makes me want to look further into Ruby on Rails and continuation servers. They sound interesting.
Have you actually done this? I am curious what Java coders have to say about these and other dynamic languages after having given them more than a two-day tentative tinker.
Second, some of the things Bruce says in this book seem to contradict themselves when it comes to him sounding off at Java's shortcomings. ...
It would be fair to critique him for mixing his criticism of 1.4 and 5.0 collections, iteration and generics. His arguments would have been clearer if there had been more seperation. But at the end, he faults both. With 1.4, he dislikes the inherent loss of typing when working with collections and the casting work around. With Java 5 he critiques the generics syntax and notes that it is only a language level improvement and carries no runtime typing constraints.
I think some of his "pluses" for using Ruby is because he hasn't used a dynamic typed language before, and not seeing the trade-offs and other maintenance problems that come with dynamic typing.
He has apparently used Ruby on more than one production project. His interest is more than merely academic and the joy of finding a novel, new toy!
One of the more interesting shots at Java he takes, that the learning curve of an experienced programmer in a full web development environment is painfully steep. Only six months ago did I jump into Java and am somewhat disgruntled by the complexity of putting a web application out these days. "Hello World" at the command line? No problem. Stock ticker web service (the new "hello world") with standard best practice tools like ant, junit, spring, hibernate, and tomcat-like web container. The splatter of xml-based configuration files is disturbing.
And, I agree with him full heartedly that over reliance on tools, especially IDEs, is not a good thing.
Other things Tate dislikes: weak string manipulation, cumbersome XML manipulation, and over reliance on XML
Soooooooooooooooo....where does this leave me/us?
I agree with him that Java is not going anywhere. It is too big, too important, too much out there. But is a heavy weight language/platform. And despite my dislike of things here and there, I generally like Java. But as Tate points out, there is an increasing large portion of development world under-served by Java and other languages are poised to address this.
Hmph. Hope someone wants to discuss this with me.
"This is not to say that design is unnecessary. But after a certain point, design is just speculation." --Philip Chu
Yeah, unfortunately with my schedule, I haven't looked much further into Ruby except in readings. After reading about it, I found that it is really nice for simple web applications, but when you get to more industrial strength apps, it gets more complicated, and maybe to much to maintain.
I am always on the look out for some great new way of creating Web Apps that are easy to do, and like you said, the learning curve is huge in any web technology out there. Just lots of parts.
The thing that has gotten me most excited right now is JBoss Seam. Using JSF and EJB3. JSF was pretty simple for me to understand, and I already know EJB3 pretty well, so the jump to Seam is pretty easy. However, my app still can't get it to work with a Stateful Session Bean. (just so you know I work for JBoss, but I am not praising Seam because I work there, but because I like its potential.
I unfortunately have to add one thing about Bruce Tate's books - they are thoughtful and provocative to be sure. But avoid buying any book of Mr. Tate's - to actually learn a new technology. I have had an extraordinarly frustrating time with Spring - A Developer's Notebook (both editions) and decided to check out his new Ruby on Rails book (from O'Reilly) on Amazon.com before buying it.
Same story even though it's a different co-author. So go ahead and read this book - it's entertaining and thought-provoking. But learn Rails/Groovy/whatever from another author. Perhaps it's merely bad luck - but execution has been lacking in the examples from some of Bruce's recent books....