Sliwa, Carol; .NET; J2EE: Interview: Java creator Gosling says .Net falls short of expectations, in: Computerworld, Computerworld Inc. 2002.

THEMES: Sliwa, Carol | .NET | J2EE
YEAR: 2002
Login Login
User: Anonymous

LABEL: CORBA | C# | C++ | J2EE | .NET
ORGANIZATIONS: Microsoft | Sun
PEOPLE: Gosling, James
THINGS: analysis | comparison | criticism | object model | SW-architecture
TIME: 2002
Q&A: Java creator Gosling says .Net falls short of expectations

MARCH 29, 2002
SAN FRANCISCO -- Java creator James Gosling, a vice president and fellow at Sun Microsystems Inc., shared his views on Microsoft Corp.'s rival .Net development environment, its new C# (pronounced "C-sharp") language and its promotion of Web services with Computerworld during this week's JavaOne conference here. This is Part I of the interview (see Part II).

Q: Is there anything in the .Net architecture that you actually admire?

A: [Long pause.] Chutzpah. Um [pause] boy. I guess I found it really disappointing. I mean, there had been all kinds of rumors and that about what their Common Language Runtime, and what this new [C#] language, was going to be. And we were sort of imagining all kinds of clever things that they could do. They didn't choose to do any of them. I found it sort of puzzling.

Q: What could they have done?

A: They certainly could have been more creative about the language. They could have been more careful about things like the memory model. They had certain things that were imposed on them, like the fact that they had to support C and C++ meant ... effectively crippling the memory model with these sort of loophole constructions, which really cripples the reliability and security stories.

I guess one of my pet areas is scientific computation. They might have done something creative to make that easier. They might have done something creative around ... integrating business logic into the language.

And, I mean, the fact that the syntax [of C#] is so much -- is like exactly the same, or just about exactly the same [as that of Java].

Q: What's the old saying, it's the sincerest form of flattery?

A: Imitation is the sincerest form of flattery.

Q: Did you feel that way when you saw C#?

A: Yeah. Yeah. I mean, abused and ripped off was also in there just to some extent. Relieved actually was part of it.

Q: Relieved?

A: That it wasn't particularly creative.

Q: A Microsoft official told me that an application's ability to interoperate with other applications -- through Web services, with XML-based messages sent via the Simple Object Access Protocol -- is more important than its ability to run cross-platform. Any thoughts on that?

A: It's one of these things that there's sort of at least enough of a grain of truth to what they say to sort of make you pause a little. It's certainly the case that if you have defined protocols, the two sides can be whatever they want. And that is fundamentally what you need to do to have any kind of an interoperability story. So you can certainly have something written in Fortran talking to something written in Cobol if they've got a standardized protocol in between them.

But there are lots of advantages ... at deeper levels to be able to move code back and forth. There are things like common skill sets for developers. ... If you look at any of these engineering teams that are doing these end-to-end systems, they can work in the infrastructure, they can work in the cell phone, they can work on the client side, they can work in embedded systems, and the basic intellectual framework is pretty much the same. There are all kinds of software libraries and such that are incredibly valuable to have at different places.

And having platforms that have a consistent software environment allows you to take modular components, use them wherever you want. If you use some of the really sophisticated networking protocols, probably the most sophisticated one is this thing called [remote method invocation]. RMI uses the ability to move code around and sort of shift it to essentially the dynamic loading of drivers from one platform to the next, wrapping it in a security environment. That doesn't work if the platforms are really different.

And Java having this sort of virtual platform on a real platform gives you some pretty terrific leverage to give this kind of conceptual uniformity across a very heterogeneous network. ... And anything that you can do intellectually to sort of contain the madness helps dramatically.

Q: What would you tell corporate IT people who are debating between the .Net and Java 2 Enterprise Edition (J2EE) platforms?

A: I think the most important thing I'd say to people comparing J2EE vs. .Net is that J2EE is a market, .Net is a product. ... You'll find hundreds of companies with components and tools and app servers in the J2EE world. The way it's organized, the community actually controls what happens. It isn't just dictated to them. It's a very different, very different beast from a socioeconomic point of view. Technologically, there's a lot more there in J2EE. You look at all the [application programming interfaces] ... the sets of tools available. I mean, there isn't just one way to do networking. We certainly support all the XML stuff. But there's also [Common Object Request Broker Architecture] and RMI and a variety of other Internet protocols ... that are available for people to build their systems out of, and a lot of what draws many of these IT departments is just the ability to mix and match from all over the place, because they do have an environment that's very heterogeneous. It talks [to] lots of different protocols.

Q: Some corporate users have expressed an interest in using .Net for the front end and Java on the back end. How does that strike you?

A: It's certainly the case that Microsoft pretty much has an absolute monopoly on the client. Certified and convicted. And so, in some sense, that makes it sort of easier for them on the client end. I think these folks would be amazed to discover how easy it is to write client software on the PC in Java. That works very well. And from a personal point of view, I personally actually read the [Windows] XP license and decided I couldn't sign it. So I've been shifting over to Mac.

Q: Do you have any fears about Microsoft now?

A: Always sort of generic. I mean, the way that they managed to bamboozle their way out of the DOJ case. They got convicted of fairly heinous acts, and their penalty was this thing that is so easy to weasel out of. They essentially got off for free and they've taken that as a license to just be really savage. A few days ago when that guy from Gateway testified about how Microsoft's strong-arm tactics have actually gotten worse since the DOJ settled, it's like, "Uh, of course."

You may retrieve this story by entering QuickLink# 28577

Return to story

Q&A Part II: Java creator Gosling discusses Web services

APRIL 01, 2002

SAN FRANCISCO -- Java creator James Gosling, a vice president and fellow at Sun Microsystems Inc., shared his views on Web services with Computerworld's Carol Sliwa during last week's JavaOne conference. This is the second part of that interview (see Part I).

Q: XML-based Web services are being much hyped at the moment. Are you buying into that? Do you think they'll catch on?

A: Well, I would say an emphatic yes and a quizzical no. An emphatic yes on Web services are wonderful. But in a strong sense, Sun's been building systems that do Web services, network services from the very beginning. We've got things like network file system, all the named servers and even all the networking protocols that people have been using over the years. They're all about building services. And certainly the concept of building services on and around the Web and the network is really all that the network is about.

Then there's the issue of this particular [instance] of building services on the network, which is around the SOAP [Simple Object Access Protocol] protocol. SOAP has some advantages. In many ways, it's far behind some of the protocols that exist already today, things like CORBA [Common Object Request Broker Architecture] and RMI [Remote Method Invocation]. And at some level, it's just another network protocol. It's another way to ship messages back and forth between machines.

And you know, to my mind, the technology piece is kind of a red herring because the important thing about the Web services push these days is not so much a particular protocol ... it's more an attitude shift for Web site developers. Somebody once characterized XML as HTML for silicon-based life forms. I forget where I heard that line, but I mean, in the pre-Web days, if you were building a service that was on the Web, it was always a machine-to-machine service, whether it was a mail service or a name look-up service or whatever. And when the Web happened, that tended to be based on creating pages that were really intended to be turned into a human-readable image on the screen.

And so people were building services on the network whose only way to access them was through these pages that were designed to be humanly read. So you take something like the Travelocity reservation system. That is a service on the Web, but it's designed really to be accessible to humans, and it's designed that way through the fact that all the interactions are through HTML to get some place. And people have built programmatic interfaces to things like that, but it's very difficult -- trying to extract the information out of HTML when most of what HTML is about is sort of drawing pretty pictures on the screen. There's one little piece of information like, "Yes, your order has been confirmed,".... but you've got this whole page with ads and things flashing back at you, and you've got to sort of scrape the screen and find the information you want out of it ... It's really painful.

Really the interesting thing for me about the sort of Web services push and hype is it's sort of saying to Web site developers: "Gee, maybe you might want to actually have two ways in -- one that's easy for programs to get at and one that's easy for humans."

Q: Sun has been accused of lagging in its support for Web services. Do you have an explanation for that?

A: Well, I think the lag was more perception, was more a marketing campaign than reality. As near as I can tell, if you stack up the facilities available in J2EE [Java 2 Enterprise Edition] in the marketplace, it's way ahead of [Microsoft's] .Net and always has been. Certainly, Microsoft had a way of doing XML process-to-process communication before Sun shipped one. Whether that's actually important or not, one could argue. We've been shipping one for awhile.

And also some of this is a matter of odd spin doctoring. One of the things that we hear a lot is people saying we don't support XML because it's not native in J2EE. And it's like, well, yes. If you look at the J2EE 1.3 spec, it doesn't say you must have XML. But XML has been available as a drop-in plug-in for a very long time. I mean, all of your original XML parsers were all written in Java, and in fact, Microsoft was somewhat late to the game in XML. And those XML parsers, given the way that plug-in modularity works in Java, could drop into any enterprise app, and they have been dropping them into enterprise apps for a long time.

I mean, this document archive app that I wrote nearly two years ago uses XML for a bunch of the data storage. I got those [application programming interfaces] from somewhere. And so there's a difference between XML being available and XML being required on all implementations as a built-in piece. So it's been available for the longest time. It just hasn't been a required component of the base platform.

In sort of an interesting twist, in JDK [Java Development Kit] 1.4 -- which [shipped] a month-and-a-half ago but has actually been available in one form or another for close to a year -- it has built into it all of the XML APIs, and the J2EE spec layers on top of the standard edition spec. So XML may not be in the 1.3 spec directly, but it is indirectly because XML is actually in the underlying platform.

Q: Few are building Web services right now, so how much does it matter?

A: One of the sort of tragedies for us is that there is a real distinction between meeting our customers' needs and dealing with the press. So one of the reactions we get from a lot of customers is sort of like, "What's this Web services thing?" They list all these things you can do with Web services, but we've been doing that for years. What's the big deal?

Q: Microsoft got an interoperability story from Web services.

A: But there have been some really good interoperability solutions available to them. I mean, they could have just done CORBA, for instance. And one of the sad twists of fate is the DCOM [Distributed Component Object Model] spec came out after the CORBA spec, and DCOM is excruciatingly similar to CORBA.

Q: I've heard complaints that both are cumbersome to use. Aren't they?

A: Yeah. They're both kind of clumsy. I can't really speak to DCOM, but in the CORBA case, a lot of that clumsiness comes from [the fact that] they're trying to solve some really hard problems. And one of the hard problems that they were trying to do was the sort of language-to-language, sort of platform interoperability thing. ...

That sort of necessitates quite an amazing pile of complexity, and actually some of the people who were involved in the CORBA design, at the end of that experience, kind of went, "This language-to-language thing really added a lot of complexity." And they said, "Well, what would happen if we did the design all over again but didn't try to solve the language-to-language problem?" And they ended up with something that was much simpler. And that's what RMI -- this other networking thing that's available in Java -- [does].

Related stories:

Source: Computerworld