Take a look at Sun Microsystems' recently relaunched Java developer Web site, and you'll see something new: a picture of James Gosling.
Despite being one of the primary inventors of the popular development language, Gosling spent the last couple years detached from daily development of Java within Sun. The well-known software engineer took a "technologist's vacation" and started his own research project, called "Jackpot," looking at ways to make programming easier.
Now, Gosling can don the "Java guru" hat again.
When you look at computer systems, they have this sort of yin-and-yang aspect.
In November, he became chief technology officer of Sun's development tools division. He's contributing some of the work from Jackpot and working on the overall strategy of Sun's tools division.
Gosling's re-entry into the Java product development is the latest in a number of steps Sun is taking to reinvigorate its development tools and, more generally, its software business. Sun's top software executive, Jonathan Schwartz, calls developers the "lifeblood of any technology company." But at this point, some aspects of Sun's Java software health appear somewhat anemic. Despite being the founder and steward of Java, the company lags behind competitors in market share for Java server software and tools.
Sun is making software a top priority. In the past several months, the company has introduced its Linux-based desktop system, revamped the way it sells its Java server software package and invested in its developer outreach programs, including its NetBeans open-source tools project. And Gosling is returning to the fold to try to re-create the early successes of Java for Sun.
Gosling recently spoke with CNET News.com about his return to Sun and about the overall software development industry.
Q: Sun was one of the big backers behind the creation of the Java Tools Community (JTC), which is supposed to lobby for better tools within the Java standards process. Why did that need to be created?
There are a lot of existing standard efforts where the technology itself doesn't really have a tool component, but it ends up having to interact with tools...
Eclipse is one of those things that, depending on which hat I am wearing, I either sort of love it or hate it.
It is kind of a metaissue, and it is not one you can just isolate and say, "The tools issue is here." It really crosses a broad spectrum of different activities. To try to tease out the common themes across this broad spectrum--that's really what the JTC is all about.
It should not have taken several years--that sort of extended process--for Web server deployment to really smoothly integrate with tools. It should be much quicker. What about Java tools in general? It's often said that Java is sophisticated, but programming is difficult to learn. Where do you think Java tools should be heading right now?
One of the big challenges people in the tools area have is that if you look at the developer population, there is incredible diversity in both the level of sophistication of the developer and in the level of sophistication of the things they are building.
When you try to build an IDE (integrated development environment) that is all things to all people--which is kind of what a traditional IDE does or tries to do--you end up with something terribly complicated, because it has lots of features for lots of different things. It may not actually do any of them terrifically well, because you are focusing on a lot of different things.
And so whenever you pick a direction, you know you end up deciding to not go in other directions. So IDEs tend to get focused, and one of the interesting ways to look at the different IDEs and different IDE extensions is that they all focus on different specializations of the market.
So, for instance, one of my favorite IDEs out there is called BlueJ. It's really nice, but it is extremely specialized. It is designed to help in teaching people who have never programmed before, and it comes with, you know, a textbook and the rest of it, and there is this large community of high schools and universities and middle schools that all use this thing.
There is a developer community that they created. It is all over the world, and it is probably the most carefully simple IDE out there, but it is extremely specialized, because it is all about the educational process. You also find people in IDEs that are all about things like cell phones.
There is a lot going on in Java tools now, from companies like BEA and Sun, which are trying to make tools easier for programmers. From a competitive perspective, what is Sun's special sauce? How are you trying to get some share from competitors?
This is one of these areas that is a little awkward for us, because we sort of wear two hats.
The competition with Microsoft has sort of a different flavor to it. It is much more of a life-and-death kind of struggle. If they succeed, the whole ecosystem that the rest of the industry feeds off goes away.
As stewards and members of the Java community, we are big believers in diversity, and the fact that there are multiple competitors in the market--that's a really good thing. That said, we also have our own products, and we want to win.
I think that in NetBeans, we have a really excellent IDE. We have been getting a lot of very good reviews based on it. The pre-release reviews on Java Studio Creator were very positive. So we are very pretty excited with the way that is going, and we are really pretty excited with the way these things are going to evolve (against competitors). It's going to be entertaining.
How important are tools at Sun? Do you make a lot of money on tools, or is it more just sort of a kind of an entry point into more encompassing sales?
When you look at computer systems, they have this sort of yin-and-yang aspect. They have hardware and software, and neither works without the other. So when you look at the hardware side of Sun, it is absolutely crucial to them that there be a very large and vibrant market here in software that runs on the hardware. Probably the most important item on the charter for the tools group at Sun is to do whatever it takes to make the world of Java development easier and more attractive and more economically vibrant to encourage the existence of more and more interesting software. That drives demand.
The IBM-backed open-source tools project, Eclipse, has gotten a lot of momentum in the past 18 months and, of course, Microsoft is known for how productive its tools are. Do you see those two platforms as your primary competition?
Well, I think of them as competition in very different ways. You know, Eclipse is one of those things that, depending on which hat I am wearing, I either sort of love it or hate it. Wearing my Java community hat, I love it. Wearing my chief technology officer of tools hat--sort of a Scott McNealy way of putting it--I don't as much. It's sort of like a hockey league. Hockey is really boring in a league that has only got one team, right? So, while on the one hand, you know we are really committed to having a healthy league, because without a league, we don't have a game. On the other hand, we want to get up there and win the next game.
The competition with Microsoft has sort of a different flavor to it. It is much more of a life-and-death kind of struggle. Why do you call it a life-and-death kind of struggle?
Well, because if they succeed, the whole ecosystem that the rest of the industry feeds off goes away.
Well, the Microsoft view of the universe is that there should be no interoperability at all. Period. Or, if there is interoperability, it is between different versions of Windows, and we are very much in the biodiversity camp.
Microsoft is clearly Windows-centric, but it has worked with other companies on standards like Web services.
The Web service part of it is quite wonderful. That works pretty well.
| || |
Get Up to Speed on...
Get the latest headlines and
company-specific news in our
expanded GUTS section.
But when it comes to the tools, if you use its Visual Studio .Net tool
, you are completely locked in to everything they did. You have no interoperability with other platforms--other than by doing remote messaging, for which you can't actually run your application on non-Windows platforms.
Whereas if you use NetBeans, you can run the application on an IBM platform, and if you use Eclipse, you can not only run Eclipse on a Sun platform, but you can run the application that you create on a Sun platform--and you can do neither of those with Visual Studio. All that the Web services stuff gives you is the ability to talk to somebody else. It doesn't give developers the ability to develop applications that run on other platforms. So it is really a very, very weak form of interoperability. Can you talk a little bit about your new job? What is on your to-do list?
I had spent several years as kind of the poster boy of the software organization, which really got sort of long. So, I ended up taking...a real technologist's vacation--which is what I really love doing--actually sitting down and writing code at Sun Labs
. And the stuff that I had been working on was all about developer tools. The project I worked on soon got to the point where it was not a science project anymore; it has really become sort of an engineering-with-science project, and as such, it made more sense to try to get it into products.
So I kind of have two goals in my new job: One is to actually take the last two years of my life and sort of find it a home and get it out there and do some really advanced, interesting stuff with tools. The other is to wear a more general CTO hat, which has some component of talking to the press and some component of working on the group strategy and working with customers and the rest of that.
My goals are sort of a bit of everything, and the high-level goal for me is really to make Sun's tools be the best, most advanced, most interesting out there. We have got an awful lot of good stuff now, and I think the opportunities are pretty darn cool.