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.
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 think that would have to be "garbage collected."
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.
run method exits. object will be returned to the heap at some unspecified time.
http://michaelsmith.id.au
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
I thought he either defecated or ejaculated.
Give me Classic Slashdot or give me death!
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!
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 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. "
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?
I find it rather enjoyable to do both. At the same time.
Do you even lift?
These aren't the 'roids you're looking for.
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 #!
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.
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.
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 doubt that children dying of disease or starvation in Africa and Asia are exactly making positive contributions to the development of humanity.
To have a right to do a thing is not at all the same as to be right in doing it
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.
1.) Java is intended for application and service development, not systems admin. It's not a ubiquitous language.
2.) Do you really need an unsigned type? I find them superfluous. Learn how to bit shift.
I swear to God...I swear to God! That is NOT how you treat your human!
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.