Beyond Java and over 2 million other books are available for Amazon Kindle . Learn more

Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading Beyond Java on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Beyond Java [Paperback]

Bruce A. Tate
3.8 out of 5 stars  See all reviews (4 customer reviews)
RRP: £19.02
Price: £15.99 & FREE Delivery in the UK. Details
You Save: £3.03 (16%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Saturday, 1 Nov.? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition £12.35  
Paperback £15.99  

Book Description

2 Oct 2005 0596100949 978-0596100940 1

Bruce Tate, author of the Jolt Award-winning Better, Faster, Lighter Java has an intriguing notion about the future of Java, and it's causing some agitation among Java developers. Bruce believes Java is abandoning its base, and conditions are ripe for an alternative to emerge.

In Beyond Java, Bruce chronicles the rise of the most successful language of all time, and then lays out, in painstaking detail, the compromises the founders had to make to establish success. Then, he describes the characteristics of likely successors to Java. He builds to a rapid and heady climax, presenting alternative languages and frameworks with productivity and innovation unmatched in Java. He closes with an evaluation of the most popular and important programming languages, and their future role in a world beyond Java.

If you are agree with the book's premise--that Java's reign is coming to an end--then this book will help you start to build your skills accordingly. You can download some of the frameworks discussed and learn a few new languages. This book will teach you what a new language needs to succeed, so when things do change, you'll be more prepared. And even if you think Java is here to stay, you can use the best techniques from frameworks introduced in this book to improve what you're doing in Java today.

Product details

  • Paperback: 208 pages
  • Publisher: O'Reilly Media; 1 edition (2 Oct 2005)
  • Language: English
  • ISBN-10: 0596100949
  • ISBN-13: 978-0596100940
  • Product Dimensions: 16.8 x 1.4 x 22.9 cm
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Bestsellers Rank: 855,531 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

From the Publisher

In Beyond Java, Bruce Tate, author of the Jolt Award-winning Better, Faster, Lighter Java, chronicles the rise of the most successful language of all time, and then lays out, in painstaking detail, the compromises the founders had to make to establish success. If you are agree with the book's premise--that Java's reign is coming to an end--then this book will help you start to build your skills accordingly. Beyond Java will teach you what a new language needs to succeed, so when things do change, you'll be more prepared. And even if you think Java is here to stay, you can use the best techniques from frameworks introduced in this book to improve what you're doing in Java today.

About the Author

Bruce Tate is a kayaker, mountain biker, father, author, and Java programmer inAustin, Texas. His five books include Better, Faster, Lighter Java and the bestselling Bitter Java (Manning). His 17 years of experience include stints at IBM, two failed startups, and his own independent consulting practice called J2Life, LLC.

Inside This Book (Learn More)
Explore More
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

3.8 out of 5 stars
3.8 out of 5 stars
Most Helpful Customer Reviews
3.0 out of 5 stars Somewhat dated 7 April 2013
Format:Paperback|Verified Purchase
Rightly critiqued Generics as a kludgy bolt-on.
Highlighted the closure issue (but not nearly enough)
Had a go at critiquing the JVM (or at least how Sun viewed it)!
Emphasised the Syntactic Sugary nature of Java (a pet hate).
Expressed disdain at the API expansion (which never seems to end).

No mention of Scala (which was on the JVM early '04).
Too much Ruby love.. yuk.
As has been mentioned the Artsy intro's were a distraction.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
4.0 out of 5 stars A natural step forward 4 Jun 2007
This easy to read book is what finally got me to start with Ruby (and Rails) development. Most of the arguments are sound, and the history of C/C++->Java->Ruby(& Python, etc) was fascinating.

However, as a long time Java programmer I read the book with mixed feelings. Much of the 'pain' we Java programmers were supposed to be feeling had already been alleviated by the incredible 'eclipse IDE'. Bruce Tate has many valid criticisms of Java, and certainly when you compare the metaprogramming capabilities of Ruby to Java, it does look quite archaic. The question of static versus dynamic types is much less certain, as the wonderful command-completion and refactoring capabilities of eclipse seem to be largely as a result of Java's static typing. As a result I felt that while the book was making completely valid points, they were perhaps exaggerated a little more than necessary.

Now two months later, and a few rails applications under my belt, I should say that the dynamism of ruby (and some other niceties like duck-typing and method blocks) has won a convert in me. And of course the conveniences of the Rails platform are undisputed. And most recently with the advent of JRuby 1.0, I think we will start so see a much faster adoption of Ruby by the Java community. JPython went far, but not far enough. Bruce seems to think Ruby will fare a lot better, and I agree with him. The next few years are going to be very interesting indeed.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
5.0 out of 5 stars Excellent 13 Nov 2006
By A. I. Mackenzie VINE VOICE
Bruce Tate has written a really interesting book in 'Beyond Java'.

It's necessarily speculative, but basically highlights Java's strengths and weaknesses and how a future language may supersede Java. Essentially his argument is that Java frameworks are moving into heavyweight applications and leaving behind the bread and butter work of putting a front end on a relational database. Ultimately, he believes that Java's static typing (early binding) causes huge productivity problems without the advertised benefits and he concludes that Ruby is the way to go.

As a web developer, I agree that Java's never been particularly good for web front-end stuff and personally I never really got on with it. Ruby looks really interesting from this - flexible and powerful and it fixes some of Java's dafter features (primitives etc.). Furthermore Bruce writes well and I read this book over a weekend. I'm really intrigued by Ruby now and may well give it a try.

The only criticisms I have are that the book ignores security (one of static typing's big gains) apart from a throwaway sentence and also it does turn into a bit of a `Ruby on rails' fan letter later on in the book. The kayaking episodes at the start of the chapters start to grate after a while too, however these are mostly quibbles apart from security. Recommended for Java and web developers to think on.
Comment | 
Was this review helpful to you?
1 of 3 people found the following review helpful
3.0 out of 5 stars Are you frustrated with J2EE? 29 Mar 2006
By Jarek
For most of IT folks who are trying to keep up to date with more than their narrow area of expertise, there is no revelation here. Still, I've found systematic approach to Java and scripting alternatives quite interesting. Attempts to quantify effort of various approaches gave feeling of how practical could be using RoR or Python as Java replacement.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 3.7 out of 5 stars  29 reviews
101 of 103 people found the following review helpful
3.0 out of 5 stars Interesting, but narrowly-focussed, error-ridden and frequently annoying 29 Mar 2006
By Michael Vanier - Published on
There is a lot to like in this book, and a lot not to like. I'll talk about the negatives first and then discuss the positives.

The style of the book is extremely annoying. The author is a kayaker and a mountain biker, and he introduces each chapter with a kayaking/mountain biking story meant to serve as some kind of analogy to the programming topics he'll cover in the chapter. I found this unnecessary and distracting (I don't need sugar coating on my technical reading), and it felt like the real purpose of the stories was for the author to demonstrate how cool he is. In addition, the author uses the phrase "a perfect storm" over and over and over to describe the factors that led to Java's position of dominance in the programming world. I hated that expression even before I read the book; it has to be the most abused expression of the last few years.

Despite the fact that the book is ostensibly about programming languages, the author is by no means an expert on the subject. To his credit, he admits this freely, but he also makes numerous small and not-so-small mistakes when describing programming language features which may lead more knowledgeable readers to wonder if he's really qualified to write this book. For instance, in several places he describes the advantages of static typing as being mainly for early error detection, without also pointing out another big advantage of static typing: faster code (there are other advantages as well). In another place he makes the blatantly false statement that "Smalltalk is where all the continuation research is happening", ignoring the fact that Scheme (a Lisp dialect) has had continuations since 1986, and that there has been and continues to be active research on continuations in Scheme ever since. Then he says that "In Lisp, everything is a list." Wrong again. He also seems to assume that statically-typed programs will always be verbose, indicating that he is unfamiliar with statically-typed languages like Objective Caml which have type inference. The bottom line is that he often doesn't know what he's talking about when he compares the features of different programming languages.

The author's programming expertise appears to be primarily in the domain of small to medium-sized web applications. This is an important domain, but it's far from the only programming domain. So the book's subtitle "A Glimpse At the Future of Programming Languages" should really be "A Glimpse At the Future of Programming Languages for People Who Exclusively Write Small to Medium-Sized Web Applications and Nothing Else". If you want a broader picture, or are primarily interested in another domain, look elsewhere.

The author is clearly aiming the book at programmers who primarily program for money. Not that there's anything wrong with that, but given the author's expressed fondness for open source software (which I share) it might have been nice to acknowledge that some people also write programs for the joy of it in addition to (or in lieu of) the financial rewards.

Now that I've covered the bad, let's look at the good. The author seems to know his domain well, and he makes a good case that Java frameworks for writing web applications have gotten so baroque and tedious that they are simply miserable to use and lead to very slow development cycles. This might be just the fault of the frameworks and not the language, but the author makes a good case that specific language features (or the lack thereof) are what make Java so clumsy for writing web applications. He contrasts Java primarily with the Ruby language, and specifically with the Ruby on Rails web framework, and shows that several features of Ruby make for a much more productive programmer experience. For instance, Ruby's ability to express configuration information inside the language obviates the need for much of the XML that clutters up Java web applications. The author spends a lot of time discussing Ruby's metaprogramming capabilities and how they make it possible to write much more concise code with much less repetition. An example is a class which reads from a database and populates itself on-the-fly with methods to access specific database fields. (Small gripe: the term "metaprogramming" has a variety of semi-related meanings, all coming down to the notion of code being automatically generated instead of being written by hand, but the way that e.g. Lisp or Scheme macros or C++ templates represent metaprogramming is very different from Ruby's metaprogramming, and the author doesn't discuss that.)

The most interesting chapter by far is the chapter on continuation servers. The author gives a clear (though short) description of continuations, which is no mean feat given that they are one of the most difficult-to-explain concepts in the entire universe of programming languages. More importantly, he discusses how they turn out to be extremely useful in web servers, allowing web-based programs to be written in a much more natural and concise style than is possible without them. He uses the Smalltalk language as an example, because there is a continuation server written in Smalltalk. (Another gripe: while I'm happy to see him acknowledge that Smalltalk is a good language, I might have liked it better if he also mentioned that the Scheme dialect of Lisp also has continuations (as I mentioned above), and that there is also a web server in PLT Scheme that is also continuation-based).

The take-home message of the book is that writing small to medium-sized web apps in Java is rapidly becoming more trouble than it's worth, that more dynamic languages like Ruby have features that make it much easier, and that therefore there is a good chance that these languages will take over much of the programmer mindshare. I agree with all of these points, and think that today's Java web programmers are well advised to look at other programming languages. However, I also feel on general principles that all programmers would do well to learn another programming language every year or two, so for me this book just reinforces my pre-existing view.

On the other hand, the author mentions, but doesn't emphasize the fact that the JVM has many capabilities which far outstrip those available in Ruby or Python or indeed most other languages. He does point out that many advanced features of Java frameworks are only useful for very large scale web
applications (the domain that J2EE targets explicitly), and are unnecessary for the majority of (smaller scale) web applications. He leaves open the extremely important question of whether frameworks like Ruby on Rails will scale well to larger applications, or to smaller applications when they need to grow larger, though he seems to believe that they will (if not now, then later when the language and its implementation or implementations mature).

In summary, I think this book is a decent read with a lot of food for thought, if you can handle the irritating style, the mistakes and the omissions. This book is far from the last word on this subject (the reader should be aware that there are lots of interesting computer languages that are not even mentioned in this book, with Objective Caml and E being two obvious candidates), but it's interesting nonetheless.
4 of 0 people found the following review helpful
3.0 out of 5 stars Food for thought 6 April 2007
By Scott Nelson - Published on
This book was a quick and enjoyable read. I think the premise is right on: Java is too complex and has become a hindrance to productivity.

I liked the conversational style of the book. The author makes some good arguments against Java, and provides alternatives. He attempts to make a strong case for Ruby. After reading the book, I will definitely give Ruby a look.

I have several problems with the book:

#1 It is highly repetitive. This is more noticeable because the book and its chapters are very short, so it can be read in one sitting. It doesn't feel like any research went into the book (aside from personal interviews) so the scope is only what the author is most familiar with (ie. he mentions Hibernate/Spring/Tapestry over and over again. He brings up static typing impeding productivity many times over the course of the book...obviously a personal gripe of his.)

#2 It is not an objective analysis. After reading the book, I believe the author to be a Ruby evangelist. In particular, I didn't appreciate a section where the author shows an example of how Ruby outperforms Java. He clarifies by saying the evidence is unscientific (the Java implementation was not tuned for performance.) Well if that is the case, then it doesn't belong in a technical book (from O'Reilly no less.)

The author suggests the possibility of fixing Java, but it strikes me as an obligatory mention. Beyond Java is this author's (well informed) opinion, no more no less. It did not convince me to throw out the Java baby with the bathwater. Nonetheless, it provided some interesting food for thought.
16 of 19 people found the following review helpful
4.0 out of 5 stars The java developer's dilemma... 8 Nov 2005
By Eric Wuehler - Published on
While probably not the best analogy (on my part), the author's message seems to be similar to the book, The Innovator's Dilemma, that is on the required reading list for MBA students. The "Java Developer's" dilemma: How do you take time away from your comfort zone and what is paying the bills to focus on what isn't ready to pay the bills (the "disruptive" technology/language). I.e., there are more employers looking for Java experience than for, say, Ruby experience. So, when do you make that jump, what language should you jump to, or better yet, how do you prepare yourself to get ready to make that jump without getting left behind.

This last statement is what I took away from the first half of the book. The author gives his opinions and suggestions as to how to prepare yourself for that jump. For that, I think this book should probably be required reading for software developers in general, not just Java developers. I know a handful of ex-mainframe developers that wish they had taken time to learn something other than COBOL. :)

As noted in the other reviews, the book also discusses things such as Java's pros and cons, as well as what the characteristics of the "next big language" are likely to be. While interesting, this aspect of the book was ancillary to the underlying message I took away from the book. What I took away from the book was; when Java is replaced as the programming language of choice, are you going to be ready?

Overall a persuasive argument. If you believe Java is on the way out, this book contains your talking points. If you believe Java is king and your job is safe, this book contains the arguments you will most likely have to fend off.
13 of 15 people found the following review helpful
2.0 out of 5 stars Not up to O'Reilly standards 2 Jan 2006
By R. A. Schulman - Published on
Bruce Tate's Beyond Java is not up to O'Reilly standards. It's poorly organized, repetitive, and error-ridden. As of the present writing (Jan. 2, 2006), the online example code promised in the front of the book is not available on the O'Reilly web site. A long list of errata is available there, however, but it's incomplete.

Expect much frustration in trying to type in the main Ruby on Rails example and getting it to run successfully. And expect much hair-tearing at all the repetition and the author's attempt to be artsy by beginning each chapter by comparing white-water kayaking to the perils of picking a new programming language.

This would have made a good book or special journal issue at one-quarter it's present size, with better editing, and with better testing of the example code -- and deep-sixing the tedious kayak stories.
14 of 17 people found the following review helpful
2.0 out of 5 stars Not very insightful -- only touches surface 23 Oct 2005
By Shahzad Bhatti - Published on
Format:Paperback|Verified Purchase
I was hoping that Bruce will have more insightful comparison of upcoming languages and will compare Java's shortcomings against them. Instead, he covered only major shortcomings of Java that most people already know such as not purely object oriented, edit-compile-test cycle or how massive it has become. Though, he talks about Python, Ruby, Smalltalk, Lisp, but it is very clear from beginning that the only language that he likes is Ruby and does not provide enough details on other languages. I myself have been learning Ruby over a year and have been trying Ruby on Rails lately and I like it a lot and I agree that productivity on Ruby is much higher than Java. It's just that I was hoping to learn a bit about other new languages and how they tackle different issues especially that make domain driven modeling a bit easier similar to "Naked objects" features. I for one doing Java programming since '96 and having gone through all Java->CORBA-Servlets->EJB-Spring cycle am looking for alternatives. Certainly, Ruby comes to mind and it is going to have support for VM and AOP support in 2.0, but I am still not convinced that it is the answer. Overall, I wished the author had researched a bit more about other interesting ways people are solving these problems.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category