I once saw Gosling in an airport terminal waiting for a flight. He was consuming a large hot dog. I considered approaching him but decided to respect his privacy. When he finished his hot dog, he threw the messy wrapper directly onto the carpet. It was not a missed shot at the trash can, it was just blithely dropped on the floor. That's when I realized his work on automatic garbage collection had gone too far. I can't prove this, but I suspect that Bjarne would have discarded his own trash properly.
>Bjarne would have discarded his own trash properly.
if he able to remember what pockets he has them in and keep correct counts of his hotdogs and their wrappers, large hotdogs, baby hotdogs in large wrappers, eaten, half-eaten, saved for later ...
I had a friend (who shall remain nameless ;P) that once, while very drunk, was lying in bed wanting to throw up. Getting up to go to the bathroom was a very painful thought, however, but thankfully he remembered something important: he was primarily programming in Java at the time, and therefore he didn't need to worry as he had garbage collection on his side. Needless to say the result when he woke up was pretty bad.
That probably means he had a 1-year non-compete built into his employment agreement which he had to wait out (which makes me curious about what he could be working on at Google that could trigger that)
Many modern, enforceable (even in Cali) non-competes have a clause that provides you full salary/benefits in exchange for not working for any competing firm during that period. Pretty sweet deal for hacking projects you never got around to -- I've seen several folks in finance basically just go dark and hack on the beach for 6mo-1yr before returning to the field.
Even if there was a one-year non-compete, it could just as easily be that Google isn't working on anything that would trigger it and Gosling just decided to play safe and wait it out for a year. A year off break from work while you decide what to do next in your career sure sounds like a nice option, and the perfect amount of time to "regroup" like this.
This is a very solid point. Having an internally developed language like Go (which is, according to Rob Pike, being used "for real stuff" inside of Google), the creator of Python (one of the most widely used languages in recent years) and the creator of Java (one of the most widely used languages for at least a decade now) under one roof has to be an embarrassment of riches for any group intending to innovate in the programming language space.
I think that Guido probably has his plate full with the open revolt over the transition to version 3.
Javascript is much closer to a halfway point to Lisp than Java. I don't really see Java as being at all similar to Lisp... witness the 3-4 year (possibly longer) debacle trying to get closures into the language. Talk about banging a square rhinoceros into a round hole.
Java's point of greatest similarity to C++ is undoubtedly Generics, which has all the syntactic disadvantages of C++ templates, but none of the meta-programming advantages.
But one of the ways of seeing that C++ and Java are quite dissimilar is to first grok Java Interfaces, and then read through the smalltalk/C++ version of the GoF book Design Patterns, with a view to how many of the Patterns don't even make sense in Java or are obsolete in Java because of Interfaces.
Nit: Halfway to somewhere, but that somewhere ain't Lisp.
I'm under-rested and under-caffeinated, but the only thing I can think of that I'd call an intentional similarity between the two languages is the fact they're both garbage collected.
I'd agree with him, given that this statement was about programmers and Java really did open the floodgates for a diversity of programming languages to become accepted, or at least tolerated.
The Java language itself, however, is not very close to Lisp at all.
Smalltalk would be a good non-snarky answer and one with some basis in history, although Smalltalk seems to have been a much stronger influence over the JVM than the Java language.
He created Turbo Pascal and Delphi when he was young and hungry. C# when he was well-fed and older. Not hungry in any way. Thus the over-engineering and bloat-ware.
I threw up a little in my mouth at the thought of James Gosling going to Google to work on Mono/C#. That is quite possibly the most retarded piece of speculation I've seen on the internet all year. How on earth you got 18 upvotes I do not know. Maybe Bruno has a spider crawling the net for references and then sicked his elite team of Argnetinian cyber-ninja-commandoes on it.
Once you're done throwing up please re-read what I wrote. I merely suggested that if Google wanted an alternative to Java they could use c# which is a similar (and probably better) language instead of inventing their own.
Be that as it may I still think you're delusional for suggesting that Google should jump on the Mono bandwagon, since Mono directly benefits their biggest competitor.
Moreover, in what way does hiring Gosling suggest that Google are seeking an alternative to Java? Is Gosling a closet C# fancier? I strongly suspect the opposite.
I think you need to re-read the whole thread more carefully.
I never suggested that Google needs to adopt a java competitor (and I don't think they do), much less Mono. I was only responding to the hypothetical that someone else raised and said that if Google wanted a java competitor, they could just use C#. I personally can't see why they would want one.
Gosling would provide the credibility necessary if Google wanted to usurp Oracle as the provider of an "official" version of Java and/or the JVM. Big Corps are terrified of Oracle. I worked for a Fortune 100 which was all about using Weblogic vs. open source offerings like JBoss. Then, after the Oracle acquisition, the directive was to "explore competing options". Oracle's history of shakedowns is so well established that Google or someone similar might have a shot. I was surprise that IBM didn't make a better attempt to steal Sun's place.
One thing to note is that I don't entirely understand the IP issues surrounding Java.
IBM was a competitor to Sun. An IBM acquisition of Sun definitely would have triggered the government to get involved and explore the anti-trust/monopoly angle.
I'd counter that it's important to specify the time-frame you're talking about. For instance, would you say that they'll try to continue as a big Java user for the next 15 years?
When you stretch out the time-frame, your assertion sounds substantially less credible. At least to me.
Google has an immense amount of Java code, in addition to all the Java programmers it took to write them, a good number of whom are programmers that have written Java for their entire professional careers.
If the bar for getting away from it is rewriting millions of lines of code and retraining 1/3 - 1/2 of their engineers, it seems credible to me.
I'd be very surprised if they replaced all their Java code within 15 years. But even if they do change over, it's still a very good investment for them to continue maintaining and updating Java for the short term.
They're certainly stacking the decks with lots of ex-MSFT-ies with experience working on Microsoft's version of the JVM - the CLR. What will the name be? GLR? GVM?
For those for whom this is not enough (or maybe even negative :-) ), there's NeWS.
Regardless of this you should also read his "Window System Design:If I had it to do over again in 2002" ( http://www.hack.org/mc/texts/gosling-wsd.pdf ), which is sort of predicting the X -> Wayland move and a good paper on software design.
This should be interesting for both James and Google. In the Chinese sense. More than a few of the original Java team ended up there. I suppose Google has probably 'reached out' (or is that 'reach around' :-) to avh as well.
The parts that are really interesting is the confluence of language design. Where is Guy Steele these days? At Sun there was a constant tension between Ousterhout(TCL). Java, and Self (wnj). Even in retrospect I don't know if it was a good tension or a bad tension. It made for some really interesting email threads.
I also wonder if they see it as a defensive move vis-a-vis recruiting since working with James would be a compelling reason to leave Google.
Given Google's current maturity (I mean they just figured out what managers do :-) and the change that happens in adolescent companies, I suspect it is a good time to join if you have a clear vision of what you want to accomplish. There is the old joke "What would you do if you had a billion dollars and a dozen of the smartest engineers you ever met? Join Google and find out."
Tcl was the 'language to beat' amongst the new language products. Self was the 'language like no other' (or a totally new way to express what you wanted to a computer). Java was the 'language that re-used code'. C++ was kind of a joke (remember this was the late 80's, early 90's) since it took a perfectly acceptable language, C, and made writing code harder, more error prone, and less likely to produce correct code (all true at the time).
Tcl was a language of rapid expression and Java was a language which was safer, in part, because it enforced a certain level of correctness (type safety, no pointer arithmetic, Etc.).
Tcl had a "huge" installed base of developers, Java had zero developers and hoped to have 10 or 20K eventually.
Bert Sutherland (the guy running Sun Labs and Ivan's brother) got everyone in a room and said "We're going to have a 'language' day, and each of you gets to present why you think your language should exist." the issue was of course that Sun had only so much budget and we had no business reason for developing any new languages.
Surprisingly to some, Tcl 'won' that evaluation. Self was going to continue because Bill could self fund it if he wanted to, and Tcl had the developer base and momentum. The decision was taken to scrap the remains of the Java team (called the Live Oak project at the time) at the end of the Fiscal Year (June 30th, 1995). We were all set to be 're-deployed' which was Sun code for 'find a new job inside of Sun or we'll lay you off.'
What happened next was unexpected. James Gosling, with Kim Polese's help, had convinced the lawyers to allow us to release the source code for 'free' (very un-Sun like) so that we could at least point at something we had done on our resumes. The requirement was that we have a trademarkable name for it (which I believe was, in part, to prevent Apple or Microsoft from re-publishing it as their own thing). We dropped Alpha 1.1 (we had secretly released Alpha 1.0 in February) on March 23rd. Kim sent out a press release to some folks. (not sure if she used PR Newswire or not) The Mercury News put it on the front page, they got a quote from Marc Andresson over at Netscape that it was cool. When I went to the WWW conference 2.0 (as in second conference :-) in Darmstadt Germany two weeks later, everyone wanted to talk about it. I manually downloaded and installed it on all the Sparcstation 20's that the sales office had brought to the conference and gave a quick set of talking points to the sales guys. When I got back there was a storm because folks like Ed Zander were demanding to know why they hadn't been briefed before we announced it, Phil Sampire(sp?) was complaining that people kept calling the sales office to get their sales droid to come out and talk about it and they had no marketing material and no prep. May press conference was already queued up as the SparcStation 20 / Firewall-One launch event, the SS20 got the boot and they replaced it with the Java 'launch'. I spent a crazy couple of weeks creating a completely Java home page for Sun (had I known it was a portent of all flash sites to come I might have shot myself right then and there :-)
Everyone 'forgot' about how they were going to flush the team and instead everyone came out of the woodwork to claim they had supported it all along, SunSoft, SunLabs, and Sun Interactive (which had the only financial success with it at the time, competing against the Time Warner VOD bids). An entirely new 'planet' was born, called JavaSoft and the rest is history.
What Java gave Sun at that point in time was a credible threat against Microsoft. The threat was that the new desktop was the browser, and the way you coded for the browser was Java. Tcl didn't play in that space, and to their credit I don't think the Tcl folks were willing to go there just to ride the buzz.
Java's wake grew to eclipse the other language efforts and Sun never looked back.
> the way you coded for the browser was Java. Tcl didn't play in that space, and to their credit I don't think the Tcl folks were willing to go there just to ride the buzz.
Tcl didn't play in that space, and to their credit I don't think the Tcl folks were willing to go there just to ride the buzz.
That's not entirely true. I don't recall the exact timeline, but there was a Tcl plugin for Netscape which could be viewed as playing in much the same space as Java or Flash. A bit of work on media display and animation, and it might well have taken the space that Flash came to dominate.
Unlike browser Java of the time, the Tcl plugin didn't try to bury itself deep within the roots of the browser, was fast, and worked. :>
The exact time line is that after Java became the surprise success that it was, the Tcl team responded with 'well yeah, we could do that too.' In Oct 1996 Jacob Levy announced 1.0 of the Tcl plugin [1]. Oracle has eradicated all of the www.sunlabs.com content in the internet archive AFAICT so it is not possible to see when Sun Labs went public with it, but it happened several months after the Java 1.0 release which came out in Navigator in September of 1995.
As I recall the sentiment was 'So you can run it inside a browser, what is the big deal with that?' I don't know if Jacob lurks here but he would be the definitive source.
It is definitely good news for Google. However, as far I as know Gosling was not working on core technical projects for a long time. Maybe he will work more like a tech evangelist like Tim Bray.
But don't you want that sort of guy _not_ working on core projects? - then they get intrigued by running some little embedded language on toasters, and WHAM.
(But you do involve them in enough core work such they have a feel for the practicalities)
There are probably five or six companies in the world that can actually hire "the best", the household names of the field. For everyone else, such hyperbole is not particularly helpful advice.
Also, rock stars rarely produce anything interesting after their brief peak. And you'd want to avoid hiring Ringo.
which was invented by Frank Yellin, who is currently a Google employee.
Everyone seeing Sun as the "good guy in the patent war" needs to remember that the Oracle/Google lawsuit was made possible because Sun has always been one the of companies filing the most software patents.
Google picks its employees the same way good VCs pick founders: candidates are selected based on what they are capable of, without focusing too much on the idea they are going to work on in the immediate future.