Father of Java, James Gosling Unloads
javab0y writes "The folks over at basementcoders did a podcast with James Gosling, The Father of Java, last week at a coffee shop in San Francisco during the JavaOne conference. In a raw and no-holds-barred interview, James let loose on Oracle, the Google Lawsuit, and his experience with IBM. You know its going to be good when he starts out saying, 'I eventually graduated in '83. Went to work for IBM which is, you know, is within the top 10 of my stupidest career decisions I've made.' The podcast was fully transcribed."
It was an hour long interview recorded on a handheld device, and we (basementcoders & TheServerSide) tried to get the transcription out as quickly as possible so those who didn't have the time to listen to the hour long interview could at the very least read through it. There's a few typos in there that we'll fix soon enough, but putting that aside, you really get to the heart of what's driving Gosling and what he hopes for the future of Java.
I hope he makes a new language called "Foam"... you know, what goes on top of a good cup of coffee?
I have plenty of respect for the guy's technical prowess. He was definitely also in the right place at the right time but also undoubtedly technically brilliant. And yet he runs his career like a schoolboy. You just don't go around openly rubbishing former employers like that as it makes prospective employers wary. After all you'll probably rubbish them when you're done too. I wonder how many opportunities he's missed acting that way.
These posts express my own personal views, not those of my employer
Back when I was in high school and java was new I was taking a comp sci class where we were given the names of important people in the IT industry and asked to write a report on who they were and why they're important. I googled his name on altavista.com (there was no google) and found nothing (no wikipedia at the time) except an email address at Sun. So I emailed him a list of everything I needed to know and promptly received a reply. Good luck reaching any IT big wig these days.
So, that particular case is one I've been drawn into over and over again for years. If we could do benchmarks on sine and cosign on intel chips compared to C. We beat C on just about everything except benchmarks on Sine and cosign. It turns out there's a small issue with the way the sine and cosign hardware is implemented in the spec on the intel platform. And we actually work around it in software. For the ranges from plus or minus five, we are close to intel speeds. You get the larger values, where the intel thing rips. So lots of folks who use math on the Java platform because we do it accurately. We put a lot of effort into it.
The thing that I'm not sure about, the part about "benchmarks" - is he also referring to performance, as in, speed?
RIP America
July 4, 1776 - September 11, 2001
I went in expecting Gosling to have formulated this whole platform full of talking points why Oracle should do this, that, and the other, but instead I got a pretty cogent assessment which jibes with just about everything I suspected as an outsider. Oracle exists to make money and is very aggressive in its tactics: true. Android violates Sun patents: true. He even goes so far to say he would have no problem with Oracle maintaining stewardship of Java if it does right by the community (though he's a little unclear what he's referring to there).
The interviewers seem more eager to go with the whole "Oracle is the Devil" angle than Gosling. Gosling seems to more be saying Oracle has a tendency to be a bully, and who can argue with that?
On the other hand, I wish someone could have gone through the transcript and done a global search-and-replace for "intel" and "cosign," at least...
Breakfast served all day!
Ah, but if he had done that, he might have been so stuck in with managerial duties etc that Java might not have been born!
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
I actually did not know, until today, that Microsoft was paying a Java patent license fee for .NET's design.
Just before he said the above, he said this, which is probably obvious to many people, but I found it poignant all the same:
The Internet is full. Go away.
2. This isn't your typical dime a dozen BSCS or BSEE cubical wage slave that be easily replaced.
3. Unlike the folks in #2, he can say, "I created billions of dollars worth of revenue for x,y,z"
Of course he'll get hired - even by big unimaginative corporations who like their cookie-cutter employees.
RIP America
July 4, 1776 - September 11, 2001
Anyone have a link to the actual podcast or an mp3 recording of it?
The interview was entertaining and somewhat insightful. I wish the interviewers would've asked more details about Gosling's current doings, what aspects of NoSQL he's working on, details about the languages, etc. Too much space was allocated to Oracle Venting. I wish the interviewers or Gosling would've devoted more time to more technical stuff and future directions.
**** out of 5 - great job, Basement Coders!
pr3d4t0r
http://eugeneciurana.com | http://ciurana.eu
I skimmed the whole thing, and read a few good chunks of it, in about 5 minutes. Much better than listening to a full hour-plus of audio. Thanks to whoever did that!
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
I browsed through the interview and hope I can listen to the podcast soon.
He says some neat things:
Some...well...things that I don't think I can get behind:
and some interesting:
I'm still not sure how to regard Oracle right now, but I'm comfortable with the idea that Java needs a permanent and legal separate existence from Oracle.
import system.cool.Sig;
I have to laugh at his comments about oracle. and the oracle view of 'The Tee Shirt' (tm).
speaking of tee shirts, while at sun there was a 'java anniversary party' and mr java himself was there. some cute photos from the event, a few years back (when sun was still kind of fun to be at):
http://farm1.static.flickr.com/221/472512518_4f70840cd2_z.jpg
http://farm1.static.flickr.com/19/121342959_449ed7dea0_z.jpg
http://farm1.static.flickr.com/202/472513502_682f02afc2_z.jpg
http://farm1.static.flickr.com/19/121338473_07823a9da0_z.jpg
RIP sun. we all miss you.
and, duke, please turn out the lights when you leave, okay?
--
"It is now safe to switch off your computer."
Language is critical. Without it, we could not convey our thoughts. But the important thing is the thought, not the language.
and the problem with that is?
Without James I would only have to maintain half the servers I do today and would likely be out of a job.
Got Code?
And nothing of value was lost
I thought Gosling died. Am I the only one that read the title that way?
He needs to focus less on freedom, and more on achieving some semblance of feature parity with .NET. Microsoft is so far ahead with C# and CLR it's not even funny anymore. Dear James, why the fuck can't I new up an array of fully specialized generic objects in Java in year 2010? I mean, this is just bizarre crap. And this guy just keeps going around and telling everyone how much of a genius he is.
Go to school or not. Go to graduate school or not. Go to IBM or not. Go to Sun or not. Stay at Oracle or not.
It looks like he's had under 10 career moves total, so by definition aren't all of them in the top 10 worst? (And also all are in the top 10 best).
Javva? (that's 2 "v"s, not a w) Is that how you pronounce Java in Canadia?
Did he stop everyone from working while he cleaned out his desk?
C-x C-s C-x k
You do realize that xkcd just mentions well-established clichés, right? That's exactly what that "comic" does time and time again. There's absolutely nothing original about xkcd. It just presents some well-known idea, or in some cases even just references some meme, and for some reason a lot of dipshits at sites like Slashdot, Digg and reddit somehow think it's "funny".
No I don't. You could apply this logic to everything that was ever written, claiming that every single thought has been uttered before (making your statement a cliché as well). Where's the fun in that? And what does count as 'original'?
By the way, I'm a dipshit: xkcd is very funny.
Error 001
Security Scan and Virus Detection do not work with your operating system.
...except for most the Internet, the best mobile dev platform(s), the entire US business infrastructure and of course Minecraft.
Mod me down, my New Earth Global Warmingist friends!
Why does he consider it a mistake to work for IBM? Does it have something to do with the sales oriented culture at IBM? I would like some clarification, Thanks.
"IBM's been kind of weird on the whole topic because on the one hand they do everything they can to try and screw Sun over, I mean they didn't name Eclipse casually"
Never crossed my mind but once pointed out it's obvious that an Eclipse is what can defeat the Sun!
Actually, he opened with: "I'm Canadian".
YEAH.
You do realize that xkcd just mentions well-established clichés, right? That's exactly what that "comic" does time and time again. There's absolutely nothing original about xkcd. It just presents some well-known idea, or in some cases even just references some meme, and for some reason a lot of dipshits at sites like Slashdot, Digg and reddit somehow think it's "funny".
You know what? Your post isn't working for me. Perhaps if I push the bar more frequently, the food pellets will come out more often.
You can fix the Layout Managers in Swing. Will keep you busy for a while and do mankind a whole lot of good.
You got your wires crossed. He's talking about MS licensing Java technology that they copied for .NET.
Nothing to do with MS's java implementation.
"Microsoft .NET just smears over a huge pile of Sun patents. When they did the .NET design, they basically cut and pasted from the Java spec. "
I worked for IBM in the Desktop Field for a few months...I thought it was great to be actually working for IBM. At the end of the day IBM was a cheap ass company. They made me pay my own phone bill yet they would give my number out to customers without my consent, they would work me past 40 hours but blatantly refused to pay me overtime. Furthermore I met IBM server engineers and Desktop engineers who had worked there over 6 to 7 years without getting a raise. IBM was instead threatening those employees with layoffs to keep them on their toes. Myself I didn't care, I know from experience and being single that I could easily find a new job.
Bottom Line...IBM were cheap asses, they exploited their employees and the people they contracted with.
A employer-employee relationship should be more relaxed, not a slave driver/cheap date relationship. If this guy complains I'm sure he has good reason to complain.
Dr Gosling won't be panhandling on the street any time soon just because he walked out on that bunch of lunatics. His tenure at Sun would have left him substantially well off.
you had me at #!
that's like saying "without einstein relativity wouldn't have been discovered", which is ridiculous. In fact, it's not even that strong of a statement, because there are competing languages. You get the idea, right?
He could just decide to retire. It would be a natural decision after being thus rudely slammed into the ugly, rapacious side of the industry - painful and disillusioning after working in the engineering-focused environment that Sun had been since 1984.
you had me at #!
There's not a lot of positive sentiment about Lunatic Larry at GOOGLE. Just sayin'
you had me at #!
Thirsty Bear is fairly close to my work -- now that I know James hangs out there I'm going there more often in hopes of catching a glipse of James and his shirt ;-)
It's true no man is an island, but if you take a bunch of dead guys and tie 'em together, they make a good raft.
Of the movie Glengarry Glen Ross.
--"What's your name?"
--"FUCK YOU! That's my name!"
you had me at #!
"the future isn't something that's rammed down our throats. The future is a choice. The human race is six or seven billion odd people each of which is making choices every day. You add up all those choices and that's the direction of humanity."
amen! #1 reason I've never understood podcasts... Reading is sooo much faster and more convenient.
Moder OS's have text-to-speech so we can all lay back and read that transcript
From the headline, I thought he had died!
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
It failed at everything before it found a home on servers
Ok, since he's unloading, let me "unload" too.
Mr. Gosling, the only reason Java is any good at all is because large numbers of technically competent people (many of them at IBM) fixed up the bad design decisions you made and patched up your horrible implementation. Unfortunately, there are limits to how much one can fix if a language is as broken as Java 1.0 was.
You have some gall criticizing Dalvik, which runs efficiently, unbloated, and apparently quite securely on millions of phones. The sandbox on your Java design and implementation on the other hand was insecure and buggy both conceptually and in terms of implementation, as a never ending stream of published problems showed. Of course, since Java failed for applets, hardly anybody cares anymore; nowadays, Java's sandbox is just bloat for most users.
And all the while you were promoting Java as an "open" language, you knew that it was covered by Sun patents that made any independent implementation impossible, what a cynical and evil thing to do.
Fortunately, its awful UI libraries kept Java from achieving any significance on the desktop or web, and for most server side software, people have developed alternatives based on less bloated platforms that are easier to develop for.
And of course, it's Java that sucked up all the development resources at Sun without yielding much in terms of revenue; it's the reason Sun eventually went out of business. And mobile Java's poor performance, poor compatibility, and horrible user interface killed mobile applications development until Apple came out with iPhone. What is Java going to kill next?
Python, Perl, Tcl, Lua, and CLR all run on many platforms. Python with Gtk+ or Qt is a much better cross-platform environment than Java: easier to develop for, with better desktop integration, and nicer looking UIs.
I don't know of any mainstream language or VM other than the old VisualBasic that ran on a single platform. Gtk+, Qt, and wx all are cross-platform toolkits, better than anything Java has ever provided.
(Besides, Sun didn't even design or develop Swing, they bought it.)
If you read a bit into the interview, you will be starled by what he says about Java language development and Open Source contributions to Java. He tends to focus on "engineering the Java language" as a product is more difficult than developing the language, which constitutes only 2 or 3 percent. Also goes on to say that Open Source Contributions have not really been effective.
Well, I can understand where he is coming from, but is James missing out the picture of where it actually works? - Python, Apache, Linux kernel.. Are these less used software pieces than Java? Here is the portion that I am talking about.
So long as they do that. The development of Java is not an inexpensive thing. It takes a fair amount of funding. It's not just about writing code. Learning the code is two or three percent of the expense. You're shipping fifteen million copies a week, just the bandwith is horrible. The QA when you have to worry about something that has thirty issues. When you've got everything, every stock exchange, every phone company on the planet. Their security depends on Java. So it's not a causual piece of testing.
You know, when it comes to open source contributions, our history with contributions over the years have been kinda snarky. We'd get lost of people sending code and fixes. But on average, we'd get a submission that fixed the bug but it caused three or four more. And it probably didn't fix the bug for everybody. It probably only fixed the bug for their one case. And trying to get people in the community to actually think about the whole code base and not just their particular issue today. Doing one line of change means an immense amount of testing.
Most open source projects are way too casual for that. Sometimes when you get bugs that are potential security issues, you have to move fast, you have to put immense resources on getting it done. Maybe it's just one engineer fixing one character in one line, but then testing it and making sure you didn't introduce a bug. The harder stuff is if you have a bug, there are probably people out there who have worked around that bug, so how many of the workarounds are you going to break. And when you've got nine or ten million in the developer community you have enormous applications, trivial fixes are not trivial. And open source projects, the way the average open source projects are constituted. IT's easy to get people to do the fun stuff. It's hard to get people to do the hard stuff.
Like QAing the math libraries. Like doing QA on sine and cosine, you absolutely have to have a PHd in Mathematics. Sine and cosine: it sounds really simple, but there is unbelievable amount of depths of subtlety in there. There are extraordinarily few people on the planet qualified to QA that type of stuff.
Senthil
They may have "put a lot of effort in it", but like so much in Java, it was misdirected. Numerical programmers know how to deal with existing floating point implementations, we do it every day; we don't need Gosling to help us out. Java still lacks most of the things that are needed to support modern numerical programming; it is easily one of the worst language for numerical programming in existence, short perhaps of Tcl.
It gets even pricless-er:
I googled his name on altavista.com (there was no google)
Did he go like "use google // I see no google here // use google on altavista"?
"I've never got it when it comes to SQL databases. It's like, why? Just give me a hash table and a shitload of RAM and I'm happy."
Virtually serving coffee
because there are competing languages
You must take into account how much of their original design was "inherited" from Java.
Does anybody know if Skype call recorder works (well) on Linux?
Has anybody used Audacity to grab the line out and use that as recording input?
I'm not a lawyer, but I play one on the Internet. Blog
I think the 'moderator' (interviewer, really) unloads. That man talks way too much about himself for an interviewer.
Religion is what happens when nature strikes and groupthink goes wrong.
No. I can say from experience that living in New Zealand doesn't keep Google from watching you either.
AFAICT nothing keeps Google from watching you.
Two things I'd berate Gosling about:
1) Why the obscene paranoid TERROR for getting Java to do anything USEFUL that may be a bit "operating-system-ey"? You know, like kill (pid) [probably because pid is UNIX and Windows doesn't do it]
2) Why the hell do you discard the existence of the "unsigned" datatype? Yes, you can use "long" (unless you need an unsigned long long), but this doesn't help when you need, for example, a 3GB offset in a 32-bit file to be written to that file. Or, really, any other datatype where the datagram has unsigned and you need to read or write it. You know, real grown up stuff. rather than the play acting stuff.
OK, three
3) Why threading all over the place? It makes debugging horrible and for any UNIX (or, indeed any OS with COW for forked processes), is no faster than threads and you more often want threads NOT to share data than threads to communicate with each other.
The last one I already know the answer to, however: Java was to kill Windows as a programming platform and windows fork() processes are horrendously inefficient (though they may now have proper fork() calls with COW), so you had to have threads to get any sort of reasonable performance. That may not have been Gosling's desire, but Sun's requirement, but it comes out the same.
Podcasts are perfect for consuming while driving, or appearing to work. Text.... Less so.
Talk about Java in a Café. What else?
really?
James mentions a blog post someone wrote about "Star Trek vs Blade Runner", that I guess deals with privacy. Does anyone have a link to this? My google-fu is weak on this one.
It sounds interesting, and something I've thought about. Star Trek, especially TNG, has super privacy issues. "Computer, locate joe smith.".."Joe Smith is at Wal-Mart, buying a gallon of milk."
"You cannot find out which view is the right one by science in the ordinary sense." - C.S. Lewis on Intelligent Design
I'm not talking about any language derived from Java, especially not .Net, from which you've plucked your quip. Widen your scope here: http://www.digibarn.com/collections/posters/tongues/tongues.jpg C# is the only language on the chart derived from Java at the time.
I don't think that word means what you think it means. Gosling's "Relationship" with the Oracle is not that of a once loving relationship where one of them has gotten fat. It's more of the Oracle is the guy who stole his wife from him with big bags of money. They are lucky Gosling had such kind words. There Relationship calls for the spitting blood vulgarity kind of honesty.
Even Mono supports reified generics. Your argument is invalid.
I read the title, and thought it was an obituary with a "clever" play on words. "Unload your dead", shouted the garbage collector.
UTF-8: There and Back Again
Let's clear up a misconception. Java generally runs as a client side app running on a PC. It is NOT a web rendering engine, as is ASP .Net, so the possibility of remote exploit is much lower. ASP .Net is by definition always available to remote machines, where Java is not. Even an internal facing ASP .Net website is available to remote internal machines. Most Java apps are not. So the comparison is not really valid. And also, as someone who works on a web hosting team and has some familiarity with the vulnerability, let me just add that it was EXTREMELY obscure, not like the run of the mill buffer overflow exploits we used to get from Microsoft in years past. While dangerous, I still have to say if these are the kinds of bugs hackers have to find now, Microsoft has definitely removed the low hanging fruit and is improving its security profile.
Beware of bugs in the above code; I have only proved it correct, not tried it.
What exactly was all that original in the design of Java? It borrowed the syntax of C and C++, took the virtual machine idea from Smalltalk and the bytecode idea from p-code.
What I found "original" in Java was the way it was put together:
I actually liked the "blue collar" orientation of the original Java. When CS professors meddled with the language, we got Java 5's generics :-) .
So basically really nothing original at all nor anything invented by the Java developers. Thanks for clearing that up.
The point of my post wasn't that Java hadn't roots in older languages, it was that many newer languages have roots in Java.
For instance, Microsoft - let's say so - drew quite a lot of inspiration from Java when they designed the language they now recommend for Windows development. Evidently they found in Java some value you don't recognize.
BING = But It's Not Google!