Saturday, July 9, 2011

O'Reilly's OSCON Chairman: "Java deserves another look"

I frequently wholeheartedly agree with opinions expressed by Java.net editor Kevin Farnham in his Editor's Blog. Nevertheless, I was still surprised to discover that his most recent post (Is Java Becoming an 'Emerging Technology'? Ask O'Reilly) seemed to capture and even better articulate my own recent thoughts after reading the same three O'Reilly posts (all by Edd Dumbill) he references: Seven reasons you should use Java again, Seven Java projects that changed the world, and A rough guide to JVM languages. Each of the three Dumbill/O'Reilly posts is well worth reading on its own merits, but what really struck me is the overall observation I made as I read these posts: this might be O'Reilly's way of saying "Java is back!"

Kevin Farnham emphasizes that these three posts are part of O'Reilly Radar, which describes itself as (I have added the emphasis) "Insight, analysis, and research about emerging technologies." Kevin also cites other evidence of renewed interest from O'Reilly in Java with references to O'Reilly Radar's Clojure: Lisp meets Java, with a side of Erlang post, O'Reilly hosting OSCON-Java, the related post Why OSCON Java?, and O'Reilly's Mike Hendrickson's intriguing 2010 State of the Computer Book Market - The Languages post.

The last cited reference is fascinating because it covers all major computer book sellers (not just O'Reilly), but states the following quote (Kevin also quoted a portion of this due to its obvious interest to Java developers):
In 2008, we reported that C# surpassed Java as the number one language. But hold on, Java proved to be resilient in 2009 and experienced a resurgence in 2010 and is now the number one language from a book sales perspective. As you can see in the 2010 Top 20 languages chart below, Java has a significant lead in the language race with Objective-C moving into third place closely behind C#.

I agree with Kevin's assessment of value of the book sales numbers: "And book sales, I think, are indeed a good indicator, since that's a 'vote' that is registered using financial currency." I think it's also important to note that other JVM languages such as Groovy, Scala, JRuby, and Clojure are NOT included in those Java book sales numbers. For example, Groovy books (2452 books) and Scala books (2531 books) are considered mid-minors (number of books sold in year was between 1682 and 2999) while Java books were the largest (almost 200,000 books sold) of the "large" category (50,000 to 200,000 books sold) in 2010.

I had started to wonder if O'Reilly was no longer interested in selling Java-related books as it seemed in recent years that competing publishers such as Manning had really taken the lead in terms of numbers of available books on Java-related technologies such as the Groovy language. For example, the top three books returned from a current Amazon.com search for "groovy" are the three Groovy books I have previously recommended. None of these three is from O'Reilly and I don't think there are any books on Groovy directly published by O'Reilly. However, it is worth noting that O'Reilly is the distributor of paperback copies to retail stores of two of my top three Groovy books: the Pragmatic Programmers books Groovy Recipes and Programming Groovy. I found it interesting that the O'Reilly/Groovy situation sames to match that for O'Reilly and Ruby.

Kevin points out that "it can't be claimed that O'Reilly ever stopped covering Java." It just seemed to me that perhaps O'Reilly lost some interest and reduced coverage of Java and the Java ecosystem. Evidence that O'Reilly remained somewhat involved in Java includes their direct support for Java.net which lasted from its creation until the Oracle acquisition. About this Kevin stated, "Java.net itself was the joint creation of O'Reilly and Sun. ... java.net is no longer formally associated with O'Reilly, but, without O'Reilly, I doubt there ever would have been a java.net."

O'Reilly has continued to feature Java-related books. RESTful Java with JAX-RS (2009), for example, is one of my favorite "recent" (last few years) Java-related books and includes a chapter that I have cited as one of the Ten Best Chapters of Software Development Books. As they do with the Groovy books previously mentioned, O'Reilly distributes the paperback versions of Using JRuby (published this year) to retail stores on behalf of the Pragmatic Programmers. Two Java-related titles published (not simply distributed) by O'Reilly in 2011 are Building and Testing with Gradle and Clojure Programming: Rough Cuts Version. O'Reilly seems more interested in Android development in recent years.

There was a time when O'Reilly was to go-to publisher for Java books with famous titles like Java in a Nutshell, Enterprise Java in a Nutshell, Enterprise JavaBeans, Java Cookbook, Head First Java, and Java Power Tools. It appears to me that there has been some loss of interest in Java books in the last couple of years and that Manning has shown more interest in Java-related books. I like several books particularly well from both publishers and hope that both (and other publishers) will continue to publish Java/JVM-related books. The competition is good for consumers and the different styles provide nice alternatives. I hope that the impressive numbers of Java books sold again in 2010 motivates these publishers to continue Java/JVM publications.

I definitely agree with Kevin's assessment that "the folks at O'Reilly" have "historically done a pretty good job of sensing where technology is heading." Because of this, I wondered if they knew something I didn't when they seemed disinterested in publishing new Java-related books. It is comforting to think that perhaps they were waiting to see how things turned out and, based on recent trends and announcements, now think it's time to again invest in books about Java and the JVM.

In many ways, I think O'Reilly's recent upsurge in public enthusiasm for Java may be reflective of a wider trend among the general software development community. The prolonged wait from Java SE 6 to Java SE 7, combined with the uncertainty surrounding the Oracle acquisition of Sun, seemed to put a damper on many peoples' expectations regarding the future of Java. I knew many developers who felt that there was little "new" stuff in the world of Java for a few years there to justify purchasing any new books. With this in mind, it may be no surprise if O'Reilly did decide to reduce the number of new Java-related titles it published in recent years.

The rise of the JVM languages, the rise of Android, and a new version of Java (7) with plans for even further new versions of the language, seem to have started bringing back enthusiasm for Java and the JVM. O'Reilly's Radar may turn out to once again be a particularly adept gauge of the language's popularity.

In Seven reasons you should use Java again (one of the posts that Kevin and I linked to), Edd Dumbill starts the post with, "Java's back, baby." He does immediately follow that with acknowledgement that "lots of us never stopped using Java in the first place." It makes me wonder if this, even unintentionally and obviously unofficially, represents a general sentiment around O'Reilly. It certainly could be argued that it reflects a general developer sentiment. He lists seven reasons to "take another look at Java" and I particularly like the final one: "You'll end up using it anyway." He cites the recent Twitter architecture announcement as an example of that last reason.

I'm excited about OSCON Java this year. Although Java has had its own track at OSCON before, this feels bigger and better to have its "own conference" this year held in conjunction with OSCON proper. Personal commitments prevent me from attending, but it looks to be an interesting conference.

Java dominated the Tiobe Index again in 2010 and outsold all other languages in terms of books sold in 2010. That's not bad for a dead language. It's also a reminder that the opinions touted on the blogosphere are rarely reflective of the general spectrum and breakdown of opinions of the software development community.

No comments: