Slashdot Mirror


Q&A With James Gosling, Father of Java

Minaloush writes to tell us that in a recent Q&A with Sun's James Gosling, the father of Java fielded questions on the GPL, security, the role of Java in the enterprise. "If you come up with a good software development tool, that makes life easier for the developers and they can get their job done quicker, then the first thing the manager says is 'oh you've got free time on your hands. Do this extra thing'."

11 of 172 comments (clear)

  1. What about Patrick Naughton? by Anonymous Coward · · Score: 3, Interesting

    I thought he was also the father of Java? Whatever happened to that guy? Pretty unjust to not give him credit, right?

    1. Re:What about Patrick Naughton? by HungWeiLo · · Score: 3, Interesting

      I don't understand the extent to which Naughton has contributed to Java, but why write him out if he has made significant contributions to the development of Java? Mozart, Beethoven, et al. have all had their own improprieties, but at least no one seeks to write them out of their musical accomplishments. No one disputes that Roman Polanski is a fine filmmaker despite what he's being accused of.

      --
      There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
  2. Isn't the old license quite a bit more restrictive by morgan_greywolf · · Score: 4, Interesting

    For the longest time, all of the source code for Java has been available to everyone. And until recently it came with a licence that said: 'The source is open but you can't redistribute the results of any of your changes without passing the test suite.'


    Isn't the old license quite a bit more restrictive than just passing a test suite? I mean, many Linux distros have either been requiring that the J2RE and so forth be downloaded from sun.java.com or they've been requiring that you download 3rd party implementations based on the Sun source like blackdown. It doesn't sound to me like the license was ever as laisez-faire as Gosling seems to be implying here.
  3. Re:Declining Popularity? Not quite... by mhall119 · · Score: 5, Interesting

    What do you think of the declining popularity of Java?


    Declining popularity? I remember recent studies showing that Swing is the most used UI toolkit, I believe Java is the most used language for corporate and commercial web applications, and Java programmers are in higher demand than ever. What makes you think it's declining in popularity? Maybe it's lost its "cool" factor to Ruby and Python, but not popularity.

    Here's a couple of links from this year to back me up:
    http://www.jasonkolb.com/weblog/2007/02/programmin g_tre.html
    http://www.tiobe.com/tpci.htm
    --
    http://www.mhall119.com
  4. best Gosling quote ever... by Anonymous Coward · · Score: 5, Interesting

    I've read TFA, it's always interesting to see was Gosling has to say on Java...

    Java is such a huge success, my favorite quote from TFA:
    "...you can't send a parcel through FedEx without a bunch of Java code being involved. It's almost impossible to execute a financial transaction without a piece of Java code being involved."

    So true... And GMail, and eBay. Read the enlightening paper on how Java / Spring is used at Voca (in the UK) to process real-world money, scaling at insane levels.

    That said, to me, the best Gosling quote I ever read was in an Artima interview. Basically, Gosling said that he regretted not having gone "pure interface" in Java. Java could have been a much cleaner language if Gosling had gone this way: remove the "abstract" keyword/construct from the language (and hence remove the "protected" keyword too, which makes no sense once the "abstract" keywork is gone). And prevent concrete inheritance. So Java would have been a more OO language, where only inheritance of interface would have been possible. Some people (a tiny minority) program in Java in this way. Most people do not get that concept: that OO is all about ADT (Abstract Data Types) and that a concrete implementation should be a detail. To most people this is heresy, because "you've got to type more characters, you've got to create 'needless' interfaces,..." (in modern IDEs most of these problems are non-existent for you can delegate/compose using a single shortcut). Remove the abstract keyword today from the language, and you can millions of Java developers screaming and whining endlessly. It is sooo sad Gosling didn't do it before releasing Java to the public. Every single program out there today in Java would be more OO-ish and more testable.

    It is interesting to note that Bjarne Stroustrup, on that very subject, has explained a great many times that "people simply don't get it". Here's a quote on the same subject by Bjarne Stroustrup:

    "Since then I have consistently pointed out that one of the major ways of writing classes in C++ is without any state, that is, just an interface."

    This is OO 101. And yet hardly anyone can understand this. I'm into OOA(nalysis) / OOD(esign) and it is not always trivial to do OOP using a 3GL (third generation language, like C++ or Java) but with some thinking and discipline it's possible to get close to "real OOP" using Java. Sadly this is not what 99% of the Java programming world is doing.

    1. Re:best Gosling quote ever... by rewt66 · · Score: 4, Interesting
      The technique you describe is useful, even powerful. Being able to think in that way is a great asset.

      But if I understand you correctly, you think Java should have required us to program in that way. Quite simply, that's a very bad idea. It's just another set of chains and obstructions that a language imposes on you for no good reason.

      The main thing it does is make it so that you can't have a totally abstract class, a partially abstract derived class, and a fully concrete class derived from that. For example, if I had a Vehicle class, and then Car, Truck, and Airplane classes that derived from Vehicle, and then Mustang, Aerostar, Boeing747, and F16 classes that derived from those, the problem would be that Car, Truck, and Airplane could only define new abstract methods. They couldn't implement any methods that were defined in Vehicle, but which would make sense to have all Car classes have the same implementation. Then each Car class would have to duplicate the common code. Bad idea.

  5. GMTA by somepunk · · Score: 2, Interesting

    It has been said that democracy is the worst form of government except all the others that have been tried.
                                    -- Winston Churchill

    Unix is the worst operating system; except for all others.
                                    -- Berry Kercheval

    Those who cannot remember the past are condemned to repeat it without a sense of ironic futility.
                                    -- Errol Morris

    Those who do not understand Unix are condemned to reinvent it, poorly.
                                    -- Henry Spencer

    --
    Those people who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)
  6. Re:Uh yeah... by Anonymous Coward · · Score: 1, Interesting

    If the Java plugin didn't freeze the browser while downloading and run at glacier-speed, it would be decent for a browser. Java is a nice language, especially with frameworks like Echo2 (try the demos, it rocks). What hurts Java is that Swing and the plugin suck rather hard.

  7. Re:Why yet... by teknopurge · · Score: 3, Interesting

    That 1/3 is predominantly the MS shops that already were using VB, etc. .NET adoption has become stagnate proportionally over the last 18 months. People just are not moving to .NET from other platforms, just upgrading from VB....

  8. Re:Another reason I can avoid Java by Anonymous Coward · · Score: 1, Interesting

    if(suspect.equals("Patrick Naughton")){ //nothing }

    That is of course assuming suspect was initialized.

    Try this:

    if("Patrick Naughton".equals(suspect)){ //nothing }

    That'll avoid the possibility of a NullPointerException.

  9. Re:Another reason I can avoid Java by zacronos · · Score: 2, Interesting
    Actually, I don't believe that would compile (unless your line-breaks just got swallowed because you didn't use HTML formatting). You'll want something more like the following:

    if(suspect.equals("Patrick Naughton")){ /*nothing*/ }