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'."

44 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 Frosty+Piss · · Score: 4, Informative
      He kind of was written out of the story after this (Wikipedia):

      In September 1999, a FBI sting operation netted Naughton on charges related to the alleged solicitation of inappropriate sexual conduct with a minor. Disney immediately fired him shortly after his arrest in Santa Monica.

      He got caught in one of those chat room stings, trying to set up a little get-together with some way-underage female.

      --
      If you want news from today, you have to come back tomorrow.
    2. Re:What about Patrick Naughton? by aicrules · · Score: 4, Funny

      So what you're saying is that Java is a language of child predators...

    3. Re:What about Patrick Naughton? by Cyberax · · Score: 5, Funny

      Hmm... Maybe I shouldn't run Java on my Reiser4 filesystem?

    4. Re:What about Patrick Naughton? by Anonymous Coward · · Score: 5, Funny

      In Soviet Russia, Java touches you!

    5. Re:What about Patrick Naughton? by Kozz · · Score: 2, Funny

      /**
      * @deprecated Use getJavaFather instead
      * @see #getJavaFather
      */
      public static Object getJavaFathers() {...}

      --
      I only post comments when someone on the internet is wrong.
    6. 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.
    7. Re:What about Patrick Naughton? by javamann · · Score: 5, Funny

      Jave - Molest once, run everywhere

  2. Re:Uh yeah... by stratjakt · · Score: 4, Funny

    We've already forgotten, we just haven't forgiven yet.

    --
    I don't need no instructions to know how to rock!!!!
  3. Then the best ide is .... by jorgeleon · · Score: 4, Funny

    "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'." ... and that is why I still program in assembler and I use notepad.

    1. Re:Then the best ide is .... by physicsboy500 · · Score: 5, Funny

      ... and that is why I still program in assembler and I use notepad.

      You're such a wuss... I program in hex using vi!

      --
      The original generic sig.
    2. Re:Then the best ide is .... by Maxo-Texas · · Score: 4, Funny

      Can't believe you youngsters and your "editors"

      Set the switches and hit the commit button to load the opcode into memory.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    3. Re:Then the best ide is .... by hey! · · Score: 4, Funny

      Switches! Real men write software for plug-boards. And it's woman's work to actually do the plugging. How else does a geek meet women?

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    4. Re:Then the best ide is .... by Reality+Master+101 · · Score: 3, Funny

      plug-boards? Yeh whipper snappin' kids. Back in MAH day, we had to put rocks in lines of dirt! And the gawddamn boss made us buy our own rocks!

      --
      Sometimes it's best to just let stupid people be stupid.
    5. Re:Then the best ide is .... by marcosdumay · · Score: 2, Funny

      Are you implyig that Notepad is more usable than VI? No way... And I use Emacs...

    6. Re:Then the best ide is .... by roman_mir · · Score: 3, Funny

      You had dirt?!

    7. Re:Then the best ide is .... by maxume · · Score: 2, Funny

      You existed? Damn it, I had to create myself.

      --
      Nerd rage is the funniest rage.
    8. Re:Then the best ide is .... by hey! · · Score: 5, Informative

      Well, you must be pretty young, then. I've at least messed machines in the 4K range, worked professionally writing programs to fit in 16K, and I have several friends who are still working today who remember working with systems with 2K of RAM or less. Granted they're at about retirement age.

      Of course you have to be careful because it wasn't until the late eighties that the industry completely standardized on the eight bit byte. Memory sizes in the late 70s and early 80s were usually specified in terms of "words", a word being the particular machine's most natural size operand for integer arithmetic. The PDP-8 came with 4KW of memory, where each word was 12 bits. Thus our 4KW of memory was in actuality a whopping 6KB of core memory. The PDP-10 had a 36 bit word; the very early versions that had "8K" memories actually had 36KB.

      Bill Gates claims he never said that 640KB was all anybody would ever need. Back in 1981 he must certainly have been aware that some people needed more. You could buy a PDP-10 which could address 32 separate segments of 256KW. Since each word was 4.5 bytes, each segment amounted to 1024KB, giving a total of 36MB (36.864MB you use powers of ten instead of powers of two).

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  4. 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.
  5. Another reason I can avoid Java by ginbot462 · · Score: 5, Funny

    I liked the additional comment:

    > He later resolved the case in plea bargain with the U. S. Attorney's office in exchange for working for the FBI for a year to develop software to assist them in their online investigations.

    I wonder if he is going to burry the check
    if (suspect == "Patrick Naughton")
    { // do nothing
    }

    somebody else can make sure that is Java syntax.

    --
    Atlas Shrugged : Thematic Story :: Battlefield Earth : Organized Religion
    1. Re:Another reason I can avoid Java by evil_Tak · · Score: 5, Insightful
      Amusingly, that highlights one of Java's famous gotchas. You'll need to do something more like:

      if(suspect.equals("Patrick Naughton")){ //nothing }
    2. 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*/ }
  6. Expectations by Sometimes_Rational · · Score: 2, Insightful

    "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'.
    Reminds me of somethng Winston Churchill supposedly said: "If you every day do a little more than is expected from you, it doesn't take long before people expect even more from you."

    Either great minds think alike or he is stealing from the best.
    --
    Warning: The intelligence of this post may be larger than it appears.
  7. Re:Yeah, so? by TaleSpinner · · Score: 5, Insightful
    I think I must've worked for you once upon a time.


    Crafting tools is not wasting time. Frequently the fastest way to accomplish s six-week project is to take a month to write the tool...which will then complete the project in under a week. Management with your attitude will a) never see tools produced that increase the department's overall productivity and b) you won't have the best people working for you. No one likes working in a hamster wheel, and your shop smells of cedar shavings from here.

  8. Questions by bendodge · · Score: 2, Insightful

    I'd really like to ask him what he is doing about Microsoft's efforts to poison Java.

    I have been doing some peripheral help with a Java converter that converts from GML to Java, and it doesn't seem very cross-platform to me, even though it has no dependencies. The converter gives odd errors on different platforms - even on different XP machines! And the pure Java code it outputs doesn't run on Macs.

    IMHO, using platform-specific dependencies (like DLL's) should be the only possible way to make Java that isn't cross-platform.

    --
    The government can't save you.
    1. Re:Questions by VGPowerlord · · Score: 2, Funny

      You do realize that memo was ten years ago, right?
      I doubt MS has changed its goals regarding Sun in the last 10 years.

      You do realize that Sun sued Microsoft nine years ago, right?
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  9. 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
  10. Re:Why yet... by teknopurge · · Score: 5, Informative

    Is this a joke or a troll? Declining? Java is 54% of the corporate market for enterprise applications.

    The WORA 'paradigm' as you called it is alive and well. j2se6 is fast - even swing is fast.

    I've been using java for 9 years, first on the client and then on the server. The frameworks like struts, spring and shale are bringing religion and consistency to Java applications - and management LOVES consistency. Outside of corporate America, j2me is in most cell phones and set-tops.

    Jobs on dice.com

    'java' - 16156
    'c#' - 6634
    'asp' - 3521
    'asp.net' - 4581
    '.net' - 9097 (inclusive of previous keyword)

    Fatality. Rayden(Gossling) Wins.

  11. 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.

    2. Re:best Gosling quote ever... by aug24 · · Score: 2, Insightful

      Not so...

      The 'super' classes wouldn't be abstract, sure, but you would implement an IVehicle interface, then wrapper any IVehicle object (presumably Vehicle) as a private member object in a Car class, forwarding all the methods you wished to forward. Car would implement both ICar and IVehicle of course.

      The forwarding could be done manually; automagically through an IDE; via a keyword to be interpreted by the compiler (such as 'private forward IVehicle myVehicle = new Vehicle()') on the member variable object; even assumed(!) such that if one and only one private member object implements the same interface it would implicitly receive forwarded calls, rather like the way the compiler adds implicit super constructor calls for null constructors.

      A Mustang class would contain a private member declared as ICar, but would not necessarily have an IMustang interface as it would be redundant.

      This takes nothing away. All objects simply define what interfaces they support, and can then be treated as such in each processing context. We would not have two different methods for defining typing of objects, leading to a 'strong type' for objects.

      As a bonus, it would provide polymorphism. CarBoat for example would have private member variable objects declared as ICar and IBoat, and CarBoat would implement ICar, IBoat and IVehicle. Forwarding of IVehicle methods would of course have to explicit as both the ICar and IBoat objects would be eligible targets as they both implement IVehicle. A compiler error would occur if this explicit forwarding was not provided.

      Simple and elegant. Perhaps we should fork Java as described and call it Kava ;-)

      Justin.

      --
      You're only jealous cos the little penguins are talking to me.
  12. 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)
  13. Re:Yeah, so? by phasm42 · · Score: 2, Insightful

    No one likes working in a hamster wheel, and your shop smells of cedar shavings from here.
    Sigged.
    --
    "No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
  14. 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....

  15. What explains Sun's change on Java? by jbn-o · · Score: 3, Informative

    Today Gosling says the "immense amount of testing and design work" is not thought to be "anywhere near as good as having thousands of talented eyeballs just stare at it and think about it", but he didn't always say this and Sun didn't always license Java software in line with this sentiment. Gosling's claim might be true, but I think the freedom Sun's relicensing gives users is far more significant. Also important for the free software community is the lesson of free software pressure.

    Not long ago, Gosling poo-pooed the idea of turning Java into an "open source project": "If Java turned into an open source project, the enterprise development community would go screaming into the hills.". In the same article, author Glen Kunene described Gosling as being "ambivalent about Apache's Harmony".

    Similarly, Richard Stallman once described Java as being a trap because one could write free software programs in Java that depended on features only non-free Java software provided. He also wrote about what a non-event it was that Sun allowed more people to distribute its then non-free Java software.

    Taking all of these quotes and descriptions at face value, assuming nobody was lying, what explains the change in view? I believe that the competitive pressure created by free software Java implementations pushed Sun to stay relevant. As the free software Java implementations became more functional and more likely to replace Sun's Java software, Sun saw they could free their implementation and continue to compete. In so doing, Sun also became a top contributor to the free software community and got free software luminaries (Stallman and Eben Moglen) to speak in support of their relicensing.

  16. ugly child by nanosquid · · Score: 2, Informative

    People should remember that Java started out as a set-top language and was released when that project failed. Then, it was supposed to turn the web into an application delivery platform, and it failed miserably at that, too (Ajax is now succeeding there).

    The reason Java isn't a footnote in history is because of the enormous efforts people and companies other than Gosling and Sun have invested in fixing up its problems and turning Java into a decent platform for server-side development.

    As far as I'm concerned, the main credit Gosling deserves is for saddling us with some bad design choices and some really ugly backwards compatibility problems in Java.

    1. Re:ugly child by owlstead · · Score: 3, Insightful

      "The reason Java isn't a footnote in history is because of the enormous efforts people and companies other than Gosling and Sun have invested in fixing up its problems and turning Java into a decent platform for server-side development."

      Bollocks. The Java API is rather brilliant in both its usability and its extensive features, not to mention its documentation. The Java language is rather easy to learn (many, many universities use it as the first language of choice) and isn't too far from C++ to be easily learned. And it's memory protection and garbage collection make life *much* easier and safer. That is the reason why Java succeeded, and most, if not all of it (in the first years) by extensive help by Sun. And Sun is also responsible for keeping Java the clean language it is today, without pre-processor, without operator overloading, properties and all the other things that makes maintaining C++ so much *fun*.

    2. Re:ugly child by Siker · · Score: 2, Insightful

      Java is a miserable failed academic experiment. It is written for the people who enjoy a healthy dose of philosophy in their work life, yet never actually need to work on anything practical. For the developers of Java, a programming language is not a tool to solve problems. It's an exercise in philosophy.

      I work with Java professionally and I spend a frightful amount of my time just fixing the underlying system. Swing, lack of closures and multiple inheritance, lousy string handling, fantastically bloated code base, and so forth, are just some of the things that threaten my sanity on a day to day basis.

  17. Re:Isn't the old license quite a bit more restrict by roscivs · · Score: 4, Informative

    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.
    The old license also had a clause that said you couldn't distribute the SDK with a competitor to Sun's implementation. This was probably intended (like the test suite restriction) to avoid any Microsoft-style "embrace and extend," but there was enough worry that distributing the SDK along with gcj was against the terms of the license that just about every Linux distro opted to distribute a non-Sun Java.
    --
    ~ roscivs
  18. Perhaps "most used" means more hours by ClosedSource · · Score: 2, Insightful

    After all, you have to use a Java IDE a lot longer to get a GUI layout right. Netbeans and Eclipse should catch up in ease of use in GUI development circa 1990 any day now.

    1. Re:Perhaps "most used" means more hours by PinkPanther · · Score: 2, Insightful

      Netbeans and Eclipse should catch up in ease of use in GUI development circa 1990 any day now.

      You mean that Java/Swing can get rid of the fantastic dynamic resizing capabilities and return to the days of fixed-size windows? Fantastic, to hell with the user changing monitor sizes, going to bigger fonts, etc...

      --
      It's a simple matter of complex programming.
  19. Re:Declining Popularity? Not quite... by paeanblack · · Score: 3, Insightful

    Java is in no way shape or form an analogy to COBOL. It's a fast, maintainable, highly portable language that's used to write a huge amount of new software today.

    Your predjudice is baseless. The reasons behind the existence of both languages have a great deal of overlap.

    No language, no matter how "fast, maintainable, [or] highly portable language", can prevent an enterprise app from becoming a total maintenance nightmare after 20 years of feature creep. That's why it's analogous to COBOL. A few decades from now, extensive and current Java experience will command some nice consulting fees. I also predict Ruby/Python knowledge to become about as useful Pascal.

  20. Re:Uh yeah... by fabs64 · · Score: 2, Insightful

    I imagine a few years after the last piece of the staggering amount of enterprise Java code out there has been phased out.
    Seeing that COBOL is still being maintained, and Java is getting taken up more and more atm, I guess that'd make it around 50 years from now.

  21. Re:Yeah, so? by Reality+Master+101 · · Score: 3, Insightful

    Frequently the fastest way to accomplish s six-week project is to take a month to write the tool...which will then complete the project in under a week. Management with your attitude will a) never see tools produced that increase the department's overall productivity and b) you won't have the best people working for you.

    What are you talking about? Are you saying you should be able to sit on your ass for two weeks, because you brought in something ahead of schedule? Guess what: you're being paid to work. If you bring in something ahead of schedule, you should expect a "nice job" with points that count eventual promotion and pay raise -- along with a new assignment.

    Or to put it another way, when you're late with an assignment, do you pay the company back for the time you've wasted? Thought not.

    Respect is a two-way street. No one like working in the hamster wheel, but no one likes managing (or working with) the prima donna who thinks he can just put in solid work when he feels like it.

    --
    Sometimes it's best to just let stupid people be stupid.