Java creator James Gosling, a vice president and fellow at Sun Microsystems, talked about the state of Java tools and his personal preferences in computers, including his shift to a Macintosh laptop, during an interview last week with Computerworld. This interview was conducted at Sun's JavaOne conference.
Q: Microsoft is generally regarded as having a distinct advantage in developer tools. San Jose-based BEA Systems Inc. attempted to take on Visual Basic's ease-of-use edge when it recently introduced a tool to make it much easier for Java developers to build Web services. Do you see a need for Java tools that are easier to use? A: It's sort of yes and no. It certainly helps to have really good tools. And there's been an awful lot of emphasis on tools in the Java world. ... There's a lot of different tool developers out there that have very interesting solutions in different directions. We've got all of our stuff that sort of built up from NetBeans [a Java-based open-source development environment that Sun acquired in 1999 from Prague-based NetBeans Inc.] ...
Historically we've tended to concentrate on ... making sure that the architectures that we've put together are suitable for very large-scale systems. The majority of Sun ... customers are people that build big honking things. And tools like the Microsoft tools are very good at doing the simple apps, and you often find yourself having done their cookie-cutter kind of thing. You can do the thing that follows their paradigm really quickly. But as soon as you try to scale up, you get into trouble.
We've historically worked on making the really hard things possible and not worried so much on the easy things. But all of the work that's been going on in the tools world has actually been making a lot of the easy things much easier.
Q: What about making the hard things easier? A: Well, I mean certainly there are a variety of things about the way that Java was designed that are all about building really large systems. And a lot of that is about the sort of philosophy that everything is modular. ... And then you have this sort of hierarchy of modules that plug together, and that's not only a mechanical and packaging thing but it's also a conceptual thing. It's really the core of what object-oriented programming is about. And then once you have that as a philosophy, you have a system that sort of guarantees the integrity of the interfaces. ...
A lot of the tools have tended to concentrate on the higher end -- a lot of these sophisticated UML (Unified Modeling Language) modeling tools like the stuff from Rational and TogetherSoft. The NetBeans folks have got a lot of stuff in there that's really just about larger systems. ...
One of the seven paradoxes for me is that deep dark in my past, I was pretty heavily involved in this text editor called Emax. It's been around for like 30 years now, and sometimes the tragedy for me is that it's been around for about 30 years now. And the various flavors of Emax of today look an awful lot like Emax of 20, 25 years ago, and yet it's been relatively stable with relatively minor tweaks for quite a long time. Certainly surveying my high-end developer friends, Emax is kind of the development environment of choice. And it's done very well for people over the years for these large high-end systems.
Q: Would you say Java is more suited to sophisticated programmers? A: Yes and no. It certainly has a strong orientation towards high-end programmers, but that doesn't mean that it's a really complicated hairy ball of stuff that's difficult to understand. A big piece of the difficulty in designing it was to try to make it as simple as possible.
One of the interesting data points is that if you go around to universities ..., high schools and middle schools, what are they teaching in their introductory programming courses? More often than not, it's Java. Historically, the thing that they have tended to teach has been Pascal, for a variety of technical reasons. And it turns out that Java basically supercedes Pascal for all the technical reasons that schools used to use it. Plus it's got a lot more growth to it. ... There's a huge amount of teaching material around Java for people who have never done any programming at all.
Really the distinction isn't around the language because [Microsoft's] Visual Basic, the language, is relatively messy. It's really more a tool issue for the Microsoft customers. ... If it's some guy in a drugstore who wants to do his own order entry thing, and they've got a set of tools that make it easy to do that, it's really been the tool rather than the language that has made all of that so simple. And it's only been fairly recently that kind of low-end targeted tool has existed in the Java world.
There's one really interesting development environment out there. It's a thing called Bluejay. It's been developed over the last four or five years by a consortium at the universities, and it's an IDE (integrated development environment) that's designed specifically for teaching programming, for taking people who have never written a program before in their life and running them through courses. And they've been very, very successful with it. ...
Q: You said you've been shifting over to Macintosh computers, due to issues you have with the Windows XP license. Can you expand on that? A: I've decided that people have been taking up the Mac, and it's been doing better, and Linux is trying to become credible. ... I guess I've got Linux machines and PCs around, and I'm kind of getting to the point where there's actually nothing that I absolutely need that's on a PC anymore -- that's only on the PC.
And one of the things that always mystifies me is how anybody in corporate America will run [Microsoft's] Outlook [mail client]. I mean to say that, "they don't have a security story," is being very charitable. I mean, it's a petri dish. Opening a piece of e-mail in Outlook is really asking for it.
... For PCs at home, ... I used to do some home building. But now that's all I do because you can't actually buy a machine that doesn't have XP on it. And if you just happen to be lucky enough to have some of the install disks for Win 2k, I mean, Win 2k was like the last halfway tolerable license.
Q: So you do use Windows machines? A: Oh, I use them a lot. I've got five of them at home. ... Three are Windows 2000 and two are actually Windows 98. And those two need some serious upgrading.
Q: But you said you're shifting to Mac. A: Yeah. The thing that kind of broke it for me is that I needed a new laptop, and ... Apple switched to OS X ... it's become a really incredible desktop machine.