Version: 2008

June 29, 2005 12:59 PM PDT

Newsmaker: A closer look at Java

See all Newsmakers

(continued from previous page)

in is there shouldn't be an unsafe mode.

What do you mean by unsafe?
Gosling: They have a notion of managed code and unmanaged code. Managed code is the kind you can make security and reliability statements about. (But with unmanaged code), you can't depend on anything anymore. Memory corruption is indistinguishable from correct behavior. It's pretty difficult to analyze what a program is doing. C programs (a type of unmanaged code) tend to fail in mysterious ways. It ends up having deep implications about how security mechanisms work. In C, you have to be able to lie about the identity of things, and in Java, you're absolutely forbidden from lying about the identity of things.

What would it take to get Microsoft to join the Java Community Process (JCP)?
Gosling: I don't have a clue. Ask (Sun Chief Technology Officer) Greg Papadopoulos.

Would you like to see things back like they were in that six-month honeymoon period?
Gosling: I would love to see them collaborate with the rest of the community of the JCP.

The big difference in the last five years vs. the first five years is that Java has become a central part of many gigantic, mission-critical systems.

You just released Sun's Java application server as open-source software through the GlassFish project. Are there lessons you hope to learn there that might apply to the possibility of releasing Java Standard Edition (the foundation of Java) as open-source software?
Gosling: Maybe. Just about everything we do about the way Java SE is run is very much like an open-source project. The major dividing line is our license has this testing requirement. When we've done surveys of places that use Java really heavily, the whole testing thing turns out to be a really big issue. There's all the folks in the open-source community who on the one hand say, yes, we're going to test, we just don't want to agree to test. It's conceivable we could some day (release Java SE as open-source software). A lot depends on how comfortable the community gets.

There are a lot of negative examples that make us really nervous. If you look at people's experience with JavaScript (a language for advanced Web pages that's not related to Java). There are interoperability issues there between all the different flavors of JavaScript that are nightmarish for people doing Web page authoring. If you want to make it run on this browser, make it this way. If you want to make it run on that browser, do it that way. People in the Java world look at the JavaScript manuals and go, that's a horrible thing.

But with Java, companies like BEA Systems would add special features that would be available only if you ran the software on their Java application servers. So Java code wasn't so portable after all.
Gosling: Yes, that's a problem. But at least the way it's always been done is that at least these special features are special features. There's a facility in Java about package naming. When you use an API (application programming interface), you have to explicitly use what's a public standard API--java.something-or-other--or are you using one of the corporate proprietary ones--com.bea.something-or-other. It forces you as a developer to be explicitly aware. The developers really cared about portability. Every time they have to write com.bea, they feel the claws biting into their skins. One thing difficult in the JavaScript world is that you can't really tell that you're using a feature specific to this browser or that browser.

Also, the way things have tended to evolve is you get one application server vendor who will come up with some idea, there will be general acknowledgement that it was a good idea, and often that would turn into a JSR (Java specification request). The company's second or third version of that would be within the standard Java framework.

Can't you release Java as open-source software and control compatibility through branding? You could require software to be certified before it's allowed to use the Java name.

Gosling: There's been a lot of discussion about that. Sun is a democracy, and some believe it could work and some people don't. Right now there are more nays than yeas.

Are you in the nay category?
Gosling: More often than not I'm in the yea category. But I have to admit I go back and forth.

Compare working on Java five years ago to today.
Gosling: The big difference in the last five years vs. the first five years is that Java has become a central part of many gigantic, mission-critical systems. That requires a paranoid conservatism. When you've got large banks clearing hundreds of billions of financial transaction every night, small bugs have big consequences. Early on, we could do all kinds of crazy stuff, but now we have to worry hard about who we actually affect. Every bug we fix causes problems for somebody who had done a weird workaround. It becomes a very meticulous discipline.

Through projects such as Groovy, Sun is talking about moving the worlds of Java and scripting languages closer together. But I confess I'm not sure how exactly programming languages are different from scripting languages such as PHP, Perl or Python.
Gosling: Your confusion is well founded. There's an awful lot of loose language. The terms tend to mean different things to different people.

When people talk about scripting languages, they often talk about things that are more toward having a developer be able to slap something together really quickly and get a demo out the door in minutes. How fast the thing runs or how well the thing scales or how large a system you can build tend to be secondary considerations. In the design of Java, we didn't care so much about how quickly you could get the demo out the door, we cared about how quickly we could get a large, scalable system out the door. We ended up making difficult decisions. In general, scripting languages are a lot easier to design than the real programming languages.

The Java design is at two levels: the Java virtual machine and the Java language. All the hard stuff is at the JVM and below. If you can build a scripting language that targets the JVM, you get a certain amount of both properties.

So you're executing script in a JVM?
Gosling: Yeah. All the Java libraries are available to things written in Groovy. And Java applications can use Groovy. They can incorporate Groovy scriptlets.

 

More Newsmakers

Previous page
Page 1 | 2

See more CNET content tagged:
James Gosling, JavaOne, Java, Sun Microsystems Inc., trade show

Add a Comment (Log in or register) (6 Comments)
  • prev
  • 1
  • next
Revisionist History
by June 29, 2005 7:15 PM PDT
"In the early 1990s, Gosling initiated and led a project code-named Green that eventually became Java." This is an inaccurate statement to say the least. It was initiated in 1990 by one guy, and lead by another guy, neither of whom Sun likes to talk about any more. Java has been an incredible contribution to the industry and it is right to laud James for his fifteen years of work on it. However, it is simply fraud to attempt to erase the contribution of the other early instigators and leaders.
Reply to this comment
Why doens't Sun like to talk about them?
by July 6, 2005 12:20 AM PDT
Why doesn't Sun like to talk about them? Was there some sort of internal conflict there?
Revisionist History
by June 29, 2005 7:15 PM PDT
"In the early 1990s, Gosling initiated and led a project code-named Green that eventually became Java." This is an inaccurate statement to say the least. It was initiated in 1990 by one guy, and lead by another guy, neither of whom Sun likes to talk about any more. Java has been an incredible contribution to the industry and it is right to laud James for his fifteen years of work on it. However, it is simply fraud to attempt to erase the contribution of the other early instigators and leaders.
Reply to this comment
Why doens't Sun like to talk about them?
by July 6, 2005 12:20 AM PDT
Why doesn't Sun like to talk about them? Was there some sort of internal conflict there?
Shave.
by katamari June 29, 2005 7:49 PM PDT
Shave your face, you look like a bear.
Reply to this comment
Shave.
by katamari June 29, 2005 7:49 PM PDT
Shave your face, you look like a bear.
Reply to this comment
(6 Comments)
  • prev
  • 1
  • next
advertisement

Latest tech news headlines

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.

More feeds available in our RSS feed index.

Markets

Market news, charts, SEC filings, and more

Related quotes

Microsoft (0.71%) 0.22 31.39
Sun Microsystems (-0.11%) -0.01 9.37
Dow Jones Industrials (-0.02%) -1.67 10,545.41
S&P 500 (-0.14%) -1.58 1,126.20
NASDAQ (-0.12%) -2.68 2,288.40
CNET TECH (-0.06%) -1.03 1,661.13
  Symbol Lookup
advertisement

Inside CNET News

Scroll Left Scroll Right