Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Google Java Robotics Technology

James Gosling Leaves Google 192

scottbomb writes "Well, that didn't take long: 'After only a few months at Google, Java founder James Gosling has left the search engine giant to go to a small startup company specializing in ocean-based robotics.' In a brief blog post about his new company, Gosling says, 'They have a growing fleet of autonomous vehicles that roves the ocean collecting data from a variety of onboard sensors and uploading it to the cloud. The robots have a pile of satellite uplink/GSM/WiMax communication gear and redundant GPS units. They have a bunch of deployments. For example, one is a set of robots patrolling the ocean around the Macondo well in the Gulf of Mexico monitoring water chemistry. These craft harvest energy from the waves for propulsion and can stay at sea for a very long time. The longest that one craft has been out is 2.5(ish) years. They can cross oceans.... Slowly. They only move at 1-2 knots, which is a great speed for data collection.'"
This discussion has been archived. No new comments can be posted.

James Gosling Leaves Google

Comments Filter:
  • SkyNet (Score:3, Funny)

    by Niomosy ( 1503 ) on Tuesday August 30, 2011 @07:21PM (#37260070)

    At least we can take comfort in the robots likely getting a java.lang.OutOfMemoryError: Java heap space error.

    • I doubt Gosling has problems managing memory in Java.

      • Re:SkyNet (Score:4, Informative)

        by _xeno_ ( 155264 ) on Tuesday August 30, 2011 @07:36PM (#37260188) Homepage Journal

        I doubt Gosling has problems managing memory in Java.

        I dunno, you've never run into the more infamous "java.lang.OutOfMemoryError: PermGen space"?

        This is the error that's generated when the Java VM itself (well, the classloader, I guess) runs out of memory.

        Because, unlike Java code itself, the Java classloader never frees memory it uses, which means that if you use a class briefly on startup, that code itself will be kept in memory indefinitely and never freed.

        Which wouldn't matter as much, if there weren't this special "PermGen" space that used to default to 1MB. (It's slowly been increased as the versions go on and the size of Java programs continued to bloat, I think the default is now something like 16MB and can, as of five years ago, be user-set via a command line parameter.)

        So what does this have to do with SkyNet? Well, if it's written in Java, it will run out of PermGen space well before its self-modifying code can accomplish anything.

        And, given that PermGen space is never freed, apparently James Gosling does have problems managing memory in Java.

        • Re:SkyNet (Score:5, Informative)

          by binarylarry ( 1338699 ) on Tuesday August 30, 2011 @08:14PM (#37260434)

          PermGen is gone in newer versions of Java.

          • by Dwonis ( 52652 ) *
            What newer version? It's still there in Java 6.
          • by pavon ( 30274 )

            Larry is right. I have had to deal with this at work. Our applications create machine generated code, which is compiled and then loaded. I don't know about Java 1.7, but in 1.6 the default garbage collector does unload these classes when there are no more instances of them. The concurrent garbage collector doesn't by default but you can pass the "-XX:+CMSClassUnloadingEnabled" flag to the JVM to enable it.

        • Re:SkyNet (Score:4, Informative)

          by GodfatherofSoul ( 174979 ) on Tuesday August 30, 2011 @09:30PM (#37260922)

          Correct me if I'm wrong, but while the JVM doesn't free memory, it does recycle memory from it's allocated space. So, just because you might have accumulated the max memory your JVM might allocate, that doesn't mean your app isn't releasing memory back to the JVM. Kind of like super fetch except allocation is passive.

          • Correct me if I'm wrong

            Okay. The JVM uses a generational GC. This actually uses a few generations, but I'll talk about a simpler version than Java uses, because it's easier to understand:

            When you allocate objects, it uses a simple bump-the-pointer allocator in the short-lived generation. If an object stays around for a while, it is moved into a longer-lived generation. If not, it is deleted. I'm skipping over most of the details here, because they're not relevant. The important thing is that the generations are scanned ap

            • Re:SkyNet (Score:4, Informative)

              by TheSunborn ( 68004 ) <mtilsted@nospaM.gmail.com> on Wednesday August 31, 2011 @05:24AM (#37262868)
              You are both wrong and right. All objects allocated by Java can be garbadge collected. Including permgen. (See: http://blogs.oracle.com/jonthecollector/entry/presenting_the_permanent_generation)

              However this does often not happen because some objects keeps a (Normally static) reference to this class. An example where this often causes problems are with loggers because they often keep an static reference to a class, because they use it when generating debug output.

              Removing all references to a class when doing dynamic class loading is not as easy as it sound, and I know that tomcat had huge problems with this in tomcat 5.5 and 6. I had to restart my 6.0 tomcat server used for development due to this problem because I had it configured to auto reload all newly generated classes. But it seems that they fixed that problem with tomcat 7, because I have not seen a PermGen exception since I upgraded.

            • IIRC, when in running with the -server switch, java is willing to -eventually- remove some of the unused memory in permgen.

          • check the java parameter -XX:+CMSPermGenSweepingEnabled

            it enable the unused class unloading ... but i think that this changed in new versions

        • Hate to break this to you, but SkyNet will run on multiple VMs.

          Nice try, though.

        • Never frees ... unless you are using the CMS collector (any app that does that much class loading/creation/unloading is likely a great candidate for CMS) and you turn on CMSClassUnloadingEnabled in which case the JVM unloads Class objects which are NOT in use just fine.

        • by DrXym ( 126579 )
          PermGen space gets exhausted typically when you load a lot of classes in. Upon first reference the class info and all the final static vars get instantiated and are stuck into the permanant generation bucket of the GC which means they're not garbage collected until the app terminates. Load too many classes and the space is exhausted and bang goes the JVM. IMO the default behaviour of the JVM at least on desktops should be to roll with the application's needs and allocate more memory if more memory is neede
        • I somehow find it hard to believe that Skynet will run in a single process, especially given its spread out geographical locations. I bet it will be written in Erlang though.
    • by Ossifer ( 703813 )

      I'm still wondering why I can't -Xmx"as much as you bloody well need"...

      • by 0123456 ( 636235 )

        I'm still wondering why I can't -Xmx"as much as you bloody well need"...

        It's the joy of garbage collection. If you did that then your system would run out of RAM whenever you ran two Java programs at the same time.

      • by higuita ( 129722 )

        switch out windows to linux ... or at least switch to a 64bit system...

        in windows 32bits you can only use max about 1.5GB (or something like that) because the "OS" takes 50% of the RAM for him and being 32bits and windows, you can only use 3GB of ram

        later windows can use more ram and pass a flag in the boot.ini for the OS "just" take 1GB of ram, and IIRC, that push the limit to about1.75GB or something, that is about the same limit as the (normal) linux 32bit (IIRC)

        64bits OS will enable java to use the ful

  • Oracle? (Score:5, Interesting)

    by shutdown -p now ( 807394 ) on Tuesday August 30, 2011 @07:23PM (#37260084) Journal

    Makes you wonder if the whole Oracle patent shitstorm around Java is making Google reconsider its reliance on that technology. If so, would be interesting to see what they bring forth instead.

    • http://golang.org/ [golang.org] ?
      • Go is an interesting language, but there hasn't been much effort from Google to provide adequate tooling for it so far (IDE, debugging etc). Also, its lack of generics in this day and age is quite surprising - even Java had those.

        • Add more and more junk like generics and you'll end with languages as byzantine as C++ or Java.

          KISS.

          • Add more and more junk like generics and you'll end with languages as byzantine as C++ or Java.

            Java is a "byzantine language", really? You must be a C coder if you seriously think so.

            KISS.

            Keep it Simple and Slow? ~

            • Re: (Score:3, Informative)

              by KiloByte ( 825081 )

              Java is a "byzantine language", really? You must be a C coder if you seriously think so.

              I'd say Linus Torvalds described this well enough.

              KISS.

              Keep it Simple and Slow? ~

              Well, we're talking about Java vs C...

              Seriously, there's a bad trend among some "modern" languages of piling up constructs without regards for efficiency, simplicity or sanity. For example, you can write a non-optimized compiler for languages I'd call sane in a week while for some a team in five years can't be expected to fully implement the standard. There is not a single compliant compiler of C++, and for Java it's only because of a skewed definition of

              • Seriously, there's a bad trend among some "modern" languages of piling up constructs without regards for efficiency, simplicity or sanity.

                You have a point with respect to C++, though I think that's precisely what makes it invaluable for certain tasks - sometimes you do have a team that knows what they're doing, and they can do it so much better with that pile of features.

                But what about generics that makes you lump them into the same category? Efficiency? - but C++ std::sort will beat qsort any day precisely because all polymorphism there is compile-time, and can be fully optimized. Simplicity? Granted, C++ templates are very complicated, but

                • Another thing I'd kill for in C is a limited form of RAII, namely scope guards - the ability to say at any given point, "when the scope ends, run this before leaving it"

                  If you are willing to limit yourself to GCC-compatible compilers (GCC, clang, ICC, Path64, and - I think - XLC), then you should look up __attribute__((cleanup)). I use this for locks in C all the time. I just have a LOCK_FOR_SCOPE() macro, and the lock is automatically released when it goes out of scope. It's even exception safe if you compile with -fexceptions, so if some C++ or Objective-C throws an exception through your stack frame, it works nicely.

                  • Yes, I know about __attribute((cleanup)). I think it has some design deficiency - notably, it always applies to a single variable, it requires having a cleanup function (no inline code), and it has strict requirements for the signature of that function. For example, you cannot use it directly with fclose() when you need to clean up a FILE*, because it expects the cleanup function to accept FILE** (i.e. it always adds an extra level of indirection, even where it is undesired). Similarly, you can't use it dir

              • by bertok ( 226922 )

                Seriously, there's a bad trend among some "modern" languages of piling up constructs without regards for efficiency, simplicity or sanity.

                It's not so much the languages, but the standard libraries. I've spent a lot of time writing performance optimised code (3D engines, large database-type apps, etc...), and the thing that shits me is this:

                foreach( x in list_of_x ) { foo( x ); }

                where 'foo' does something like:

                prep();
                work_on( x );
                cleanup();

                That is bad, especially if 'work_on(x)' has a couple of layers of the same kind of thing -- then there's virtually no hope of the compiler ever optimising that loop in any sig

              • There are fully conforming C++ compilers.

            • by HiThere ( 15173 )

              Generics are quite useful. C++ style generics are much less so, as they rapidly become too complex to sensibly debug. There are, however, other approaches taken by other languages. Both Ada and Eiffel had(have?) generics that were(are?) superior to those of C++. Even Common Lisp appears to have done better, though I've not used it enough to be certain.

              Really, the C++ generics are a miserable botch of an excellent idea. Don't blame the idea for the particular implementation. That's as bad as blaming ov

          • by bonch ( 38532 ) *

            Add more and more junk like generics and you'll end with languages as byzantine as C++ or Java.

            Yeah, nobody uses those!

          • by mwvdlee ( 775178 )

            The first S stands for "Simple" as in "BASIC"? (whoops, accidentally held down the shift key there).

        • Re:Oracle? (Score:5, Interesting)

          by dudpixel ( 1429789 ) on Tuesday August 30, 2011 @10:40PM (#37261338)

          Are you surprised?

          Google is pretty poor at supporting anything longer than a week past the initial launch date.

          The whole Google business model appears to go like this:
          1. Invent cool tech
          2. Make it into an awesome product. Functional, and working, but not finished.
          3. Dump it on the public (as a "beta") with a half-hearted launch effort.
          4. Start on next project.

          For GMail - it worked, partially because a functional product is really all most of us want.

          Search is one of the few projects they continually work on - because its what makes them money.

          For many of their projects, including Google+, they fail because Google fails at marketing and seeing a project through. Have a look at how Apple launch a product, compared to Google. Apple are often still telling us how wonderful they are even years later, while Google seems to forget about its own achievements after a week.

          I like Google - I use many of their services, and have and Android phone + tablet and develop Android apps...but its just plain disappointing to see how little effort is put into their products post-launch. I'm specifically talking about marketing effort, as I'm sure they are working hard behind the scenes.

        • I have helped write non-trivial programs in Go. It's quite pleasant. I think the big reason Google hasn't bothered to provide "adequate tooling" is the developers. That is, I think many of the creators and big users prefer to just work with a plain text editor rather than an IDE. There's a reasonably decent Emacs mode for Go, but it's readable enough without any syntax highlighting, and gofmt will fix your indentation and such for you. As for the debugger, well, there's http://blog.golang.org/2010/11/debug [golang.org]
        • Or even just a .dex converter so that that Android applications can be written in Go instead of Java...

          (Since hypothetically any language ought to be convertible to dalvik bytecode and not just Java, I'm surprised Google hasn't put any apparent effort into making that happen so that people don't NEED to program Android applications in Java if they don't want to for some reason.)

          (If they came up with a converter that worked from Python code, I don't see how Android application availability wouldn't just plai

          • Since hypothetically any language ought to be convertible to dalvik bytecode and not just Java

            Not really, just like not any language can be converted to JVM bytecode. With Go, for example, you can have a pointer to an element in an array, and it is indistinguishable from a pointer to any other variable. There's nothing analogous in JVM bytecode - nor, so far as I know, in Dalvik. You can simulate it, but performance would be quite horrendous.

    • by khr ( 708262 )

      ... If so, would be interesting to see what they bring forth instead.

      Dunno, maybe they'll switch to Forth as their language... That'd be pretty cool...

      • Re:Oracle? (Score:5, Funny)

        by lennier ( 44736 ) on Tuesday August 30, 2011 @09:15PM (#37260802) Homepage

        Dunno, maybe they'll switch to Forth as their language... That'd be pretty cool...

        FORTH GO MULTIPLY AND

        • by JamesP ( 688957 )

          IMHO slightly better than

          (AND (MULTIPLY (GO (LISP))))

          blah blah slashdot filter mary had a little lamb

      • by Sloppy ( 14984 )

        OMG what a fateful day that was, back in the mid-80s when I decided I needed to become proficient in a new-to-me higher-than-assembly language, and for some arbitrary reason decided I only had time at that moment to learn one [Kids! *facepalm*]. It came down to FORTH or C, and all I cared about, was the speed of the code generated by the compilers / speed of interpreters that were available to me at the time. [Kids! *facepalm*] Based solely on that one thing, I went with C.

        Thank Fucking Yog-Sothoth. Somet

    • If I were an expert kremlinologist, I would think that you are suggesting Google will dump Java for Forth.

    • by drolli ( 522659 )

      Could also be that there was some funny IP thing going on in the back. Maybe he just helped google write some patents based on his personal notes.

    • would be interesting to see what they bring forth instead

      possibly Spot [9to5google.com]

  • It would be cool if they had a job opening for like, a janitor. I'll bet there would be some incredibly bright programmers applying for that janitor position. :-)

    (Only annoyance: Manual garbage collection)

    P.S. your logo is straight out of a Saturday morning cartoon
  • hmm (Score:4, Interesting)

    by nomadic ( 141991 ) <[moc.liamg] [ta] [dlrowcidamon]> on Tuesday August 30, 2011 @07:24PM (#37260094) Homepage
    Definitely sounds a lot more interesting than working at Google.
  • by ccr ( 168366 ) on Tuesday August 30, 2011 @07:29PM (#37260142) Homepage

    The first thing that popped out as I glanced through the post was:

    "They can cross oceans.... Slowly. They only move at 1-2 knots, which is a great speed for data collection."

    And I thought to myself, "slowly? .. well, it's father of Java, after all."

    • Yeah, a couple knots is all Java can keep up with (if that). That garbage collection really screws up anything with realtime involved. On top of the basic slowness, that is. It's a great excuse for hardware designers to overbuild everything with tons of buffers, though.
      • That garbage collection really screws up anything with realtime involved

        I'm sure David F Bacon, who wrote an realtime GC for Java for embedded applications almost a decade ago, will be fascinated to hear that.

  • by interval1066 ( 668936 ) on Tuesday August 30, 2011 @07:37PM (#37260194) Journal
    ...that the REAL reason Gosling left was because the google execs were like "Ok Jimmy, here's your office, lets tuck you in... all nice and comfy? Good... now just rest here until we need you." I think the coolness of having the inventor of Java trolling 'round the office was greater than any expectation that he'd actually invent something for Google.
    • by martin-boundary ( 547041 ) on Tuesday August 30, 2011 @08:13PM (#37260430)
      I doubt it. If you read Gosling interviews from the past few years, one of the ideas he likes to talk about a lot over and over is embedding millions of sensors into the world - in roads, walls, etc. Tiny little bugs that measure something, which can be combined into a completely novel picture of the world.

      That's not really what Google does, they're an advertising company whose primary inputs are words and human behaviours.

      The first is closer to hands on lab work, while the second is pure data munging, and my impression is Gosling's not that interested in the latter.

      • by TubeSteak ( 669689 ) on Tuesday August 30, 2011 @10:11PM (#37261164) Journal

        I was in Washington Dulles International Airport (IAD) a few months ago and sitting right behind me was a salesman from Liquid Robotics* giving his pitch to a potential client.

        I'll admit, I listened in. The technology he was describing sounded amazing.
        Alternative solutions are crazy expensive or have limited range/loitering/real-time capabilities,
        while this thing can stay out more or less indefinitely if you pay for a big enough battery pack.

        I recall something that a quick google search doesn't turn up in any articles:
        The salesman mentioned that Liquid Robotics keeps their costs down by contracting fishing boats to drop off and pick up the Wave Gliders. Because, while you could wait for it to come home at 1.5 knots/hr, it's a lot faster (and not very expensive) to have it swim to/from a spot that someone was going to be at anyways.

        By the time I had to leave, I was ready to buy one and I don't even need it.
        I seriously feel that their technology is going to be the future of unattended oceanographic research
        and if I had a million dollars to invest, I would.

        *I never actually caught the name of the company, but from the /. summary, I immediately recognized the technology being described.

      • by c0lo ( 1497653 )

        Tiny little bugs that measure something, which can be combined into a completely novel picture of the world.

        Google doesn't do it yet at full scale, they're an advertising company whose primary inputs are words and human behaviours.

        FTFY (remember Google maps with satellite pictures?)

      • Comment removed based on user account deletion
      • by gl4ss ( 559668 )

        "I doubt it. If you read Gosling interviews from the past few years, one of the ideas he likes to talk about a lot over and over is embedding millions of sensors into the world - in roads, walls, etc. Tiny little bugs that measure something, which can be combined into a completely novel picture of the world."

        yeah, billions of devices everywhere running java all talking to each other, straight out of sun's marketing for the past decade.

        except that at google it's not java. but it is. but it isn't. but it's da

      • by Syberz ( 1170343 )
        Makes you wonder why he went to the big G in the first place, well, besides the dump truck full of money dropped off at his doorstep of course.
      • >That's not really what Google does, they're an advertising company whose primary inputs are words and human behaviours.

        Really? Then explain google maps or google street view. Or the big google book scanning going on. Or android and all its sensors. Or how I can see local traffic (more sensors) on my google maps.

        Google is a lot of things and I think the idea of using new sensors and new information to paint a new picture of reality is pretty high on their list. I imagine Gosling's big issue is the mass

    • So you are saying the normal Google employee gets to work on what they want 20% of the time but Gosling would get to work on what he wants 100% of the time in his comfy Google office, what is the downside you care claiming for him to be at Google? :-)
  • by the_humeister ( 922869 ) on Tuesday August 30, 2011 @07:58PM (#37260336)

    So, that means Kate is staying then?

  • No change (Score:4, Funny)

    by jdavidb ( 449077 ) on Tuesday August 30, 2011 @08:14PM (#37260440) Homepage Journal
    Now he's just doing Google Streetview underwater!
  • "Gosling has left the building!"

  • It could be he simply realized there was more money in creating off-the-shelf technologies before the Navy does it themselves, and simply contracting out his little data-sniffers for huge sums.

    UAVs(Unmanned Aquatic Vehicle), anyone?

  • I don't blame him. The robots sound like an awesome project, IMHO. When I was a kid (say 11 or 12, so mid-1980s) I used to dream of something similar. I drew up all kinds of plans and pictures and routes of autonomous robotic water craft that would run on sea water and traverse the Pacific ocean from my home state to Japan and back.

    Were I him, I would be all up in this stuff. Just saying.

    • by c0lo ( 1497653 )

      I drew up all kinds of plans and pictures and routes of autonomous robotic water craft that would run on sea water and traverse the Pacific ocean from my home state to Japan and back.

      Let me guess: your parents moved in Montana shortly afterwards, amiright?

    • No kidding.

      Everyone's talking about reasons for leaving Google, as if Google is a bad employer.

      Lets put thing in perspective here...

      A job at Google would be great as far as large companies go. Good work-life balance, great work conditions, great benefits etc.

      But come on, he's going to be working on high-tech robots! Nothing is cooler for a developer (well, most anyway) than robotics!

      I dont blame him at all!!

  • I suppose Google hasn't also just started a project codenamed Azorian [wikipedia.org]?

  • Truth is that he was suspended for failing to sufficiently prove he was *the* James Gosling quickly enough.

  • by buback ( 144189 ) on Tuesday August 30, 2011 @10:12PM (#37261172)

    If I told my parents I was leaving google to go start my own undersea data collecting company, they'd look askance at one another and wonder what type of mid-life crisis i was having. But I guess once you start something like java, you get free rein to do whatever-the-hell crazy-assed thing you want, even if it means leaving a steady job behind, and nobody thinks it's that crazy.

    • by macshit ( 157376 )

      Er, yes, once you become super famous and renowned, the concept of a "steady job" loses some of its allure, and you can do cool-but-risky things instead if you want to. The parameters of your risk equation change. But note that such behavior is not at all uncommon even amongst the non-famous — I know tons of people who left "secure" jobs with big companies to join startups — though it's easier when you're young (e.g., no family to support), and perhaps somewhat more attractive for the middle-a

    • wah
      undersea data collecting IS interesting, challenging, something worth working for.

      working for Google just to, like, work at Google should be the reasonable choice here? Heck, work is where you spent the very major part of your life, so it better be something you value. I would totally do the same as he's doing. In fact, I would very much like to work for such a company that's actually doing something interesting.

  • A bunch of autonomous boats moving around the ocean at 2.5 knots with no one or nothing on watch seems a bit dangerous to me. I know most of you think there are nothing but container ships on the oceans but there are about 3,000 cruising sailboats with families aboard out there on vessels that are at risk of these sorts of unmanned vessels. These are often in the 30-foot range and seldom have the power to run radar all night. Most of them keep a lookout but I wonder if these "autonomous" boats have navigati

  • I've met some of the Wave Glider [liquidr.com] people. The things already have an Iridium uplink, and can be given waypoint lists to follow. They generally stay within about 50 meters of the desired track. They're simple, robust, and effective. They've been sent from Hawaii to Monterey Bay, then up to Alaska and back. The only powered moving part is the rudder. See the link above for how they move.

    I don't know what they need Gosling for, though. Their present software seems to be quite effective.

  • I'd hate for those robots to be uploading their data into some stupid old server. Thank god they're uploading it into the cloud. That's much better.

  • by DarkOx ( 621550 ) on Wednesday August 31, 2011 @05:18AM (#37262830) Journal

    Come on its obvious Gosling was forced out to make room for Cmdr Taco

  • He's gone to a cool little company: Liquid Robotics - http://liquidr.com/ [liquidr.com]. Check out the careers section and you'll find that only US citizens need apply. Not surprisingly there must be some very interesting DOD applications for the technology. Nothing wrong with that, just a bit disappointing somehow.

  • It sounds cliche but sometimes the most-talked-about place in town isn't really the best place in town.

    I have observed this among many former colleagues who go to the next big thing (FB, GOOG, etc.) but leave after less than one year.

    I note the trend others have noticed that folks who leave MSFT for the most-talked-about place in town actually return to MSFT.

"There is no statute of limitations on stupidity." -- Randomly produced by a computer program called Markov3.

Working...