Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Programming

Q&A With James Gosling, Father of Java 172

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'."
This discussion has been archived. No new comments can be posted.

Q&A With James Gosling, Father of Java

Comments Filter:
  • Expectations (Score:2, Insightful)

    by Sometimes_Rational ( 866083 ) on Monday March 19, 2007 @03:37PM (#18404959)

    "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.
  • Re:Yeah, so? (Score:5, Insightful)

    by TaleSpinner ( 96034 ) on Monday March 19, 2007 @03:49PM (#18405117)
    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.

  • Questions (Score:3, Insightful)

    by bendodge ( 998616 ) <bendodge@bsgproY ... s.com minus poet> on Monday March 19, 2007 @03:54PM (#18405181) Homepage Journal
    I'd really like to ask him what he is doing about Microsoft's efforts [edge-op.org] 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.
  • by evil_Tak ( 964978 ) on Monday March 19, 2007 @04:26PM (#18405629)
    Amusingly, that highlights one of Java's famous gotchas. You'll need to do something more like:

    if(suspect.equals("Patrick Naughton")){ //nothing }
  • Re:Yeah, so? (Score:2, Insightful)

    by phasm42 ( 588479 ) on Monday March 19, 2007 @05:07PM (#18406183)

    No one likes working in a hamster wheel, and your shop smells of cedar shavings from here.
    Sigged.
  • by ClosedSource ( 238333 ) on Monday March 19, 2007 @06:30PM (#18407219)
    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.
  • Re:ugly child (Score:4, Insightful)

    by owlstead ( 636356 ) on Monday March 19, 2007 @06:30PM (#18407227)
    "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*.
  • by paeanblack ( 191171 ) on Monday March 19, 2007 @06:48PM (#18407455)
    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.
  • Re:Uh yeah... (Score:3, Insightful)

    by fabs64 ( 657132 ) <beaufabry+slashdot,org&gmail,com> on Monday March 19, 2007 @06:51PM (#18407499)
    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.
  • Re:Yeah, so? (Score:4, 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.

  • Re:ugly child (Score:2, Insightful)

    by Siker ( 851331 ) on Monday March 19, 2007 @08:19PM (#18408573) Homepage
    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.
  • by PinkPanther ( 42194 ) on Monday March 19, 2007 @09:13PM (#18409013)

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

  • by aug24 ( 38229 ) on Tuesday March 20, 2007 @07:45AM (#18412345) Homepage
    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.

1 + 1 = 3, for large values of 1.

Working...