What to expect from Gosling at Google

Google has lots of Java projects in the works, but the search giant and Java's creator don't always see eye to eye

When James Gosling resigned from his position at Oracle last April, it wasn't exactly for greener pastures. "I truly don't know what I'm going to do next," the "Father of Java" wrote in his blog. "I didn't leave Oracle because I had some next great thing to go to. I'm feeling pretty burned out and trashed, so the only thing I know for certain is that I'll be taking some time off."

Gosling became an Oracle employee not by choice but by fiat, when the database giant acquired Sun Microsystems in 2009. Although he initially expressed optimism about the future of Java under Oracle's stewardship, he soon grew disillusioned. Feeling marginalized in his new role and uncomfortable with Oracle's corporate culture, he would go on to become one of the company's more vocal critics, even going as far as to launch a T-shirt campaign urging Oracle to honor its promises to the Java community.

[ Neil McAllister defends Oracle's decision to sue Google. | Stay up to date on the key programming news and issues with InfoWorld's Developer World newsletter, and follow Java techniques and issues with the JavaWorld Enterprise Java newsletter. Sign up today! ]

If Oracle is listening, it has shown few signs. But if anyone was afraid Java's creator would retire a disenfranchised activist (or a hot dog vendor, as he joked on his blog), they can breathe easier this week, with the announcement that Gosling's self-imposed sabbatical has come to an end. His new home? None other than Google.

That's the where. The what, on the other hand, remains an open question. Gosling himself says he doesn't know what he'll be working on. IDC analyst Al Hilwa suspects the hire is mostly so that Google can gain "a position of thought leadership and mindshare" among the Java community, describing Gosling as "a feather in [Google's] cap." But companies that offer compensation packages as generous as Google's tend to expect their employees to work for a living. So what exactly will James Gosling be doing in his new role at Google?

Lots of opportunities at Google

Obviously Gosling has a lot of expertise to bring to the table. For starters, his experience with programming language design makes him a valuable asset.

Although Google is generally thought of as a search-engine company and the majority of its revenue comes from ad sales, running a Web business of Google's scale is no mean feat. Over the years the search giant has developed countless tools and technologies to support its infrastructure. One such tool is a programming language called Sawzall -- developed by Google staffers Rob Pike and Robert Griesemer, among others -- which the company uses internally to analyze massive data sets, such as its server logs.

More recently, Pike and Griesemer have joined Ken Thompson in developing a new Google-sponsored language called Go. Go aims to usher in "a new programming paradigm" that makes it easier for developers to write parallel-processing software. Nonetheless, it can very much be considered a "post-Java language," in the same sense that Java could be considered a successor to C. Griesemer even previously worked on the compiler for the Java HotSpot VM. Gosling could potentially have a lot to offer this project.

Another likely candidate is Android. Mobile devices had long been a key part of Sun's Java strategy; according to Oracle's figures, 3 billion phones run Java. And Gosling has been directly involved with Java projects involving mobile and embedded devices. Among other things, since leaving Oracle, he's helped out with the control system for the Audi TTS. Doubtless he has plenty of experience to bring to bear on shaping Google's Java-based mobile OS. What's more, as a Sun insider, Gosling could be instrumental in constructing a defense against Oracle's lawsuit against Google over alleged patent violations in Android.

Can Gosling and Google see eye to eye?

As valuable as his experience might be to Google, however, it's not totally clear that Gosling will be a good fit at the search giant any more than he was at Oracle. In fact, his views seem to clash with the prevailing thought at Google in a surprising number of ways.

Along with C++ and Python, Java is one of the most prominent languages used at Google. But Google seldom seems satisfied with the stock JVM approach. For example, while the source code for many of Google's Web applications is written in Java, it's often compiled to JavaScript rather than Java bytecode, using the Google Web Toolkit (GWT). Android doesn't use the JVM, either, but a custom virtual machine called Dalvik that uses a unique, optimized bytecode format. And although Google App Engine allows developers to build cloud-based Java applications, it has been criticized for not supporting the full Java specification.

Such alternative approaches to the Java ecosystem don't always sit well with Gosling. In a 2010 interview with the Basement Coders, Gosling said, "Everything I care about is in the JVM." (Google doesn't seem to agree.) As for alternative virtual machines, Gosling said the .Net CLR -- which many developers perceive as Microsoft's attempt to improve on the JVM -- "basically cut and pasted from the Java spec" and that Microsoft "exercised essentially no creativity" in developing it. What must he think of Dalvik?

Of Android in general, Gosling has been generally pessimistic. He once told eWeek, "All these Android phones are going to be incompatible ... in the Android world there's kind of no adult in charge." And when it comes to Google's legal position, he's been even more blunt. In this Basement Coders interview, he said, "At Sun we'd done an analysis and yeah, there's a bunch of patents violated [by Android]." Having made such statements in the past, it seems unlikely he'll be called to testify on Google's behalf now.

A bit of everything

What exactly will Gosling's role be at Google? Probably the safest bet is Gosling's own hunch: "I expect it'll be a bit of everything, seasoned with a large dose of grumpy curmudgeon."

The idea that hiring Gosling will give Google a "thought leadership" position within the Java community is a nice one, but it seems unlikely that the search giant will be able to wield much influence over the Java platform when Oracle holds the reins so tightly. Gosling himself does not seem particularly optimistic about the future of Java as long as it remains in Oracle's hands.

On the other hand, Google, with its origins at Stanford University, is a fairly academic environment in some ways. Much like a university, it has a history of hiring "big brains" -- academics and computing luminaries -- solely for the level of quality they bring to its workforce. These hires are seldom strategic, and Google's "pet PhDs" are generally given long leashes. Nobody talks much about Google having a "thought leadership position in the Python community," for example -- and yet Guido van Rossum, the creator of Python, is a Google employee, where he devotes much of his time to Python development.

Should we expect big things from Gosling once he settles in at Google? It depends on what you mean. Anyone who expects Gosling to wield the might of Google to strike back against Oracle's dominance over the Java ecosystem is likely to be disappointed. On the other hand, if this move marks the beginning of a fulfilling, productive new chapter in Gosling's career -- whether it's in the public eye or behind the scenes -- it's sure to be a net win for everybody.

This article, "What to expect from Gosling at Google," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Copyright © 2011 IDG Communications, Inc.