Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Java Robotics

Interviews: Ask James Gosling About Java and Ocean Exploring Robots 87

James Gosling is probably best known for creating the Java programming language while working at Sun Microsystems. Currently, he is the chief software architect at Liquid Robotics. Among other projects, Liquid Robotics makes the Wave Glider, an autonomous, environmentally powered marine robot. James has agreed to take a little time from the oceangoing robots and answer any questions you have. As usual, ask as many as you'd like, but please, one question per post.
This discussion has been archived. No new comments can be posted.

Interviews: Ask James Gosling About Java and Ocean Exploring Robots

Comments Filter:
  • robots (Score:4, Interesting)

    by Sparticus789 ( 2625955 ) on Thursday July 11, 2013 @12:59PM (#44252325) Journal

    Do you plan on releasing any/all of the Wave Glider code under any sort of open source or not-for-profit license?

    • What would be the point? It isn't a word processor or some other standalone PC application. It's a tightly bound hardware controller - half of the "code" isn't in bits and bytes, it's out in the actuators and sensors. (Not that a tenth of the OSS community would even understand the problem domain.)

  • by Teckla ( 630646 ) on Thursday July 11, 2013 @01:04PM (#44252387)

    I'm a huge fan of checked exceptions (that is, exceptions that must be caught, or the method must specify that they can be thrown). My anecdotal experience is that checked exceptions have made my code more robust by helping me avoid mistakes, they are partially self documenting, and even save me time because I don't have to constantly check the documentation to see which exceptions are thrown.

    However, I see a lot of hate for checked exceptions in the programming community. With the benefit of hindsight, what's your opinion on checked vs. unchecked exceptions? If you could do it all again, would you still put checked exceptions in Java?

    Also, thank you for inventing the programming language I use all day every day. It's not perfect, of course, but I still consider it one of the best balanced programming languages out there.

    • While I don't have bad feelings about Checked Exceptions, my experience in the real world: the good developer will handle exceptions, being checked or not. Bad developers will write bad code (and workarounds) even with Checked Exceptions. Checked Exceptions are not guarantee that people will write good code.
      • Re: (Score:1, Insightful)

        by Anonymous Coward

        Aaand you *completely* (and deliberately) miss the point.

        Yes, a Michael Schumacher can get fast to point B even in a Trabant. That doesn't mean that a better car is not a good idea!

        In fact, your logic is stupid, because why deliberately give yourself a idiotic handicap? If you are good without checked exceptions, you are BETTER with them.

        I bet you also prefer to write shell scripts in C... no wait, Assember... no wait, a set of morse switches hot-wired to the bus. BECAUSE HAXORZ.

        It's not boolean. It's a flo

    • by Anonymous Coward

      Actually in java you don't know if the code can throw an exception.
      At least not in practice.

      So I would rather have declaring throwing as optional and catching as optional... since in reality they are.

  • As you're known as the father of Java, has that been problematic when trying to figure out your career path? Did you feel as if you have to always use Java or be the main proponent behind its architecture? Or simply having that on your resume, restricted you to a certain level of project either within Sun or when exploring new opportunities such as your current job with Liquid Robotics?

  • by Anonymous Coward

    The official platform libraries provided by Oracle seem to be much more comprehensive in scope than, let's say, the C++ standard library. Is control by one company of such a vast swatch of library development a hindrance to innovation in Java?

  • What are you going to do when the marine robot catches a virus because of an unpatched Java version?
  • Death Match (Score:5, Funny)

    by Antipater ( 2053064 ) on Thursday July 11, 2013 @01:24PM (#44252673)

    You're thrown into a gladiatorial ring. An audience of thousands watches your every move, eager for blood. Across the ring, Richard Stallman advances toward you, katana poised to attack. To your left you see a rack full of medieval weapons.

    What weapon do you choose? Whose blood will be spilled upon the sand?

    • Foul! (Score:5, Funny)

      by Dan East ( 318230 ) on Thursday July 11, 2013 @01:41PM (#44252911) Journal

      Your post was highly insightful and on-topic, until you got to the part where you asked more than one question in a single post.

      As usual, ask as many as you'd like, but please, one question per post.

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      Thats not a katana in Stallmans hand dummy, its his dick.

    • How big is this ring? Is there a loaded crossbow on that rack? Or even a normal bow, already strung? A chu ko nu, if loaded, would be ideal. Never bring a sword to an archery duel.

  • by Rob Riggs ( 6418 ) on Thursday July 11, 2013 @01:32PM (#44252765) Homepage Journal
    What language or languages do you prefer to progam in and why?
  • Life span of JAVA? (Score:5, Interesting)

    by Anonymous Coward on Thursday July 11, 2013 @01:33PM (#44252779)

    In terms of code development, it is a long way to look back to the days of Pascal and VAX. Someday we likely will look back at JAVA in the same way. Have the limits of JAVA been reached and do you see that day of obsolescence as being sooner than later?

    • Additionally, looking at C# language features today I realized that Java is turning into the next COBOL. Is this a fair assessment?

  • by BigApe99 ( 2980619 ) on Thursday July 11, 2013 @01:41PM (#44252901)
    What one feature of the Java language would you go back and do differently if you could?
    • by Alomex ( 148003 )

      Why stop at one? James, it's been nearly 20 years since Java was publicly released (I first heard about it at a conference in Dec 94). Can you tell us the top 5 to 10 things that you think could have been better done and wish future programming language designers will get right?

      If he has any smarts, he'll rattle a long list: heck no language is perfect, and over the years one learns many things. If he doesn't he'll circle the wagons and answer "nothing".

  • by Anonymous Coward

    Standard question, I know, but is there anything you would change about Java in hindsight? For example, don't you think that there would be no harm in having both a garbage collector and a free() function?

    • Are you serious? Just null out your variables if you're really that worried about it. Introducing a free() function is a great way to give developers a boot to deliver the garbage collector a swift kick in the nuts. It's like interrupting someone to ask if they are done yet.

  • by sl4shd0rk ( 755837 ) on Thursday July 11, 2013 @01:43PM (#44252949)

    public void dearMrGoslingHello()
    justWantedtoTakeTheTime toSayhiAnd letYouKnow iUseYourLanguageLikeEveryDay. iReallyLike theCrossPlatformDevelopmentParadigmOfWriteOnceRunAnywhere(seriouslyItsTheBestAndThanks);
    } // seriously, I've done a lot of fun projects with it over the years!

  • If you could change one thing in Java what would it be and are there any criticisms that bother you or you would like to respond to about language syntax or security?
  • It occurs to me that a small autonomous vessel would make a great "drug submarine". I'm not hanging that possibility on you. Someone will/has surely thought of it already. Do you see use of similar tech for "evil" being a problem in the near future?

  • JavaFX2 (Score:4, Interesting)

    by Roman Coder ( 413112 ) on Thursday July 11, 2013 @02:08PM (#44253239)

    What are you thoughts on JavaFX2, especially towards its competition with HTML5?

  • by vikingpower ( 768921 ) on Thursday July 11, 2013 @02:08PM (#44253245) Homepage Journal
    With the huge success that Java has been and still is, when contemplating the quite recent surge of JVM languages, I can not help but think of the future. For example, I have begun to adopt Julia, recently, for number-crunching; it seems hard to deny that such functional HPC languages have a bright future. It seems, too, that the first, minor onset of decline is there for Java. This is natural, it happens to all technologies. Hence - when you think of the future, what is your vision upon where we shall be standing, in terms of computer languages and programming paradigms, in say 10 years from now ? 20 ? 30 ?
  • These free roaming autonmous world exploring robots are out in the wild and not confined to protected lab space.
    The potential for crashing into sensitive reefs, fouling nets, bumping ships or people, all across national and international ocean space, seems to carry a liability issue that is hightened by the uncontrolled nature of the robot.

    What liability issues are considered when releasing a robot and are there any control systems in place to avoid accidents that might lead to liability issues.

  • by Anonymous Coward

    Do you ever regret the choice to implement the java runtime in C++ given the many security problems this has caused for Java ?

  • Oracle (Score:5, Interesting)

    by Anonymous Coward on Thursday July 11, 2013 @02:27PM (#44253453)

    What do you think of Oracle's stewardship of Java so far?

  • What's it like to have done something that is such an epic win for the industry? When you sit there and ponder your life's achievements, how does it feel to have created Java?
  • by thylordroot ( 1794396 ) on Thursday July 11, 2013 @02:43PM (#44253643)
    In 1996, you collaborated with Henry McGilton to write The Java Language Environment [], which describes your rationale for the design decisions you've made in creating Java. In this document, you expouse a number of ideas which are (or at least at the time were) controversial, like the "constant-in-class pattern" in favoring enumerations (which later became supported in Java 1.5), the lack of need for structure or union types, the lack of need for unsigned integral types (well, except for char), and the lack of need for operator overloading. Now that 17 years have passed since that document was published, have you changed your stance on any of these decisions?
  • by Anonymous Coward
    What is the state of the art with regards to transmitting data through the water? I am designing a deep sea(ocean floor) autonomous vehicle. The primary challenge I wish to tackle is the problem of getting my sensor data(sonar, imagery[not streaming]) wirelessly (line of sight) off the ocean floor(say 10 - 100kbs)?
  • when I say "Click click whistle click whistle whistle. Hail King Gosling!" Translated to Human "I for one welcome our new oceanic robot overlords. Hail King Gosling!"

  • What use of Java you've seen people make has most surprised you?
  • Between Oracle and Liquid Robotics you had a very brief spell at Google. Why did you quit so quickly?
  • Now the dust has had a chance to settle how do you think Oracle are doing as stewards of Java?
  • Having had to read through some of your older code recently, [], it smacks of a terse 'C' style of coding. I love the way it uses byte arrays and bit masks to do it's tokenizing very efficiently. It's wonderfully subtle, but a PITA the read compared to more recent Java coding styles, that use longer more readable variable names etc. At times I wondered if it was the result of an all nighter/quick hack. I'm curious if you like/influenced the way Java's coding style has developed over the y

  • I know you've gone on record supporting closures in Java and have apparently supported them for a very long time.

    I apologize then for being unfamiliar with the history behind Java closures, as it is badly documented on the internet (or my Google-Fu is weak, I don't know which).

    So why do you think Java didn't originally have closures, why weren't they added instead of anonymous inner classes in Java 1.1, and what were the other roadblocks to Sun adding closures in the past.

  • Reading back through some of your early statements on Android (and leaving aside Sun-Oracle-Google patent disputes) it seems you had some major concerns about interoperability and consistencies between APIs across devices or within the system itself, and generally like its openness would be problematic because each OEM was just going to do their own thing with it.

    How (if at all) have your opinions or views of Android changed at all in the last 4 years?
  • Back around the year 2000 people repeatedly asked you to make Java open source. Given what has happened since the Oracle acquisition do you regret not doing so back then?

  • Do you think Java would have such widespread use if it weren't for the community projects? Java as a language hasn't changed much and the real innovation is coming from community projects like Groovy and Scala. C#'s language specification has changed and they're adding more features. Java's language is more stagnant. Would you change that?
  • You were at Google briefly. I secretly hoped you were hired on to create Java++/Java 2.0. What were you promised/hired to do at Google? Would you ever consider creating a Java 2.0?
  • Hot or Not?

Nondeterminism means never having to say you are wrong.