[an error occurred while processing this directive]
Back to newsletter 028 contents
There have been various different stories put out about how Java came into existence. I can reveal that these are generally made up stories. The reality is far different and, for the first time, I can reveal the full true story.
It started in early 1990 when two senior marketing directors from Sun Microsystems were busy brainstorming for future directions that Sun should take. James L. Frank and Bobby Stein quickly decided that what Sun needed was a hot new programming language. They had seen Microsoft make millions from continually altering Basic, C, and C++, and realized that Sun needed a language they could call their own if they really wanted to play with the big boys. Frank and Stein quickly realized they needed the big three things that every programming language has: a father; a name; and something cool. So they started with the father of their "hot" new language.
"We wanted someone with a name that would give a feel for the language, so we started thinking about the qualities we wanted in the language" said James Frank when I interviewed him about the genesis of Java.
"We came up with three core touchy feely words. We wanted the language to feel fresh, fun, and rock solid. Then we started looking around for the name of a Sun employee that would fit the bill. We started looking for a guy called Rock Fun-Fresh, Fun Fresh-Hard, or something like that. HR [the Human Resources department] couldn't find anyone with that kind of name, so we went back to the drawing board. Then, we suddenly realized we could go for several names, which would make it much easier. So we started with Fresh. No Fresh, but we started thinking laterally, you know, something like New, or maybe Baby. Bobby suddenly remembered he once saw something about a guy called Cygnet [a baby swan], but we couldn't track him down. But HR said there was some guy called Gosling [a baby goose] and we thought, what the hell, let's start there."
Frank continued "We tracked this guy Gosling down to the I.T. department, which was a pretty good omen. He turned out to be a QA [quality assessment] tester, but that wasn't a problem for us. After all, it wasn't like he'd really have to invent Cool."
At that point, I queried what Frank meant by "not needing to invent Cool".
He replied "Oh yeah, Bobby and I were calling the language "Cool" at that point. We needed a working name, and that pretty much summarized what we wanted it to feel like. I lived with that name for so long, I still use it. Later on, we went through so many different possible names that it would fill a book. But I'm getting ahead of myself here. At this stage we had only just chosen the father of the language. Of course we knew we'd have to invent some background for the guy, but that would also come later. Next we looked for "Fun". And would you believe it, there was a hugely talented software engineer called Brian Fun here at Sun. He was even in the same building as us. We met him, and talked to a few guys he worked with. We couldn't believe it, this guy was everything we wanted. His colleagues pretty much made him out to be a genius. We had struck pay-dirt. This guy could actually play the part we wanted."
"Finally we looked for the last of our triumvirate. We knew we'd never find someone called Rock Hard, which was our ideal name, and for a while we toyed with the idea of just creating the character but never letting him get seen. But ultimately, we wanted flesh and blood. So we got the thesaurus out and started trying alternatives. Eventually we had a list of Stone's, Steel's, Wall's and a couple of other names that I forget. We actually had too many candidates. So first we decided that of the choices we'd prefer Steel, it had just the right kind of feel of being "hard" that we wanted. Then we chose one of them. He was actually a "Steele" with an extra "e" on the end, but he scraped in because this guy had actually created a language before, I think it was called Devious or Schemer or something, and had even written a couple of technical books too."
I realized that Frank was referring to Guy Steele Jr., the co-creater of "Scheme" and also known for his reference books on "Lisp" and "C".
Frank continued "So now we had our guys, we needed a name for our language. We agonized over that name for weeks. Place names, plant names, animal names, made up names, colors, textures, senses, smells. Eventually we gave up and decided to use a working name. We wanted to stick with "Cool", and did between me and Bobby. The other guys wanted to call it "Sellotape". We knew that if that ever got out there could be hell to pay. So we steered them to something a little more innocuous. I think we started suggesting flowers first, but moved on to trees fairly quickly. I mean these were a bunch of nerds. Could you see them working on something called "Tiger-lily"? I can't remember who came up with "Oak", but we all knew that was right when we heard it. Simple, solid, uncontroversial."
"Now came the hard part. Bobby and I went through some old questionnaires about customer requirements for languages, then we compiled a new one and sent it out to a few dozen people we knew. We basically asked the question "If you were going to invent the coolest programming language that has ever existed, what would you put in it?" I can tell you, some of these guys were from Mars, and I don't mean as opposed to Venus. These guys wanted everything. It would work on any computer. It would have an easy to build GUI interface, consistent on any type of computer! It would be completely secure. It would understand networking and be able to run across the Internet. It would be able to run a program that wasn't even installed on the computer. Well, I can tell you when we saw these answers, Bobby and I realized we'd been too ambitious. While we thought about what would be practical for Oak, we passed on the questionnaire results to the other guys. Two weeks later, we called a meeting to go over what Bobby and I had come up with. To our amazement, in the intervening time, Brian [Fun] had built a prototype covering most of the list of desired features from all those off-the-wall questionnaire answers! At this point, we knew we had something really hot. I called the hotline."
"The hotline?" I broke in. "What is that?"
"At Sun, we have a special number you can call if there is something important happening" said Frank. "Actually, most of the time, the hotline operator sends the call through to us in marketing, because it's the kind of stuff we're interested in using. But this time, we were making the call. I got through to the operator, told her that we had an important new product in genesis, and then I was told to wait. Ten minutes later, the meeting room door opened, and this guy in a tux with a martini in his hand walks in and says "Joy. Bill Joy".
We had gone straight to the top, and got hold of Bill Joy [a founder of Sun]. We gave him the full scoop. In the following weeks he got heavily involved with Brian. They used to get locked away, god knows where, for weeks. We used to refer to them all the time as "Fun & Joy". Then, one day, Brian disappeared. Bill said he'd gone over to SpNeXTre where they had a lot of Jobs, but I never heard anything about him again. Bill told me to re-write any marketing material we might have, to eliminate Brian from the whole story. Fun had gone from the project. Even though there was still Joy, I didn't feel like being involved any more. Soon after, I left Sun and went into partnership with my girlfriend Vivian Leigh and my friend Tim Madeah."
I had heard of his company, and knew that as they were a Microsoft partner, Sun had a policy of not doing business with them. So I asked him "Does it bother you that Sun never gives any business to Frank, Leigh, Madeah?"
"I don't give a damn!" was his reply. "Where we do business, Sun doesn't shine."
A few months after interviewing James Frank and discovering the true story of Java's creation, I managed to catch up with Bobby Stein. I still had one piece of the story missing, how the name "Java" was chosen. At first Stein refused to say anything to me. But after I revealed what Frank had told me, he decided to speak. We met in an underground car park in San Francisco. He sat in a dark corner, wearing a coat with a hood up. "I'll deny I ever met you if you say I told you this" were his first words to me. In the interests of journalistic truth I've included everything here, but I implore any readers of this account to avoid telling anyone that my source was Bobby Stein.
"It was a few years into the project. We were still calling the language "Oak", and were looking for a better name. At the time, we had a bunch of people working on the language. We were getting a bit anxious about James Gosling. He was really clueless, couldn't seem to understand the basics of our new language. Since he was the one we'd picked to be the father of the language, we had to do something. So we started having him tutored. Every day he'd get some tutoring on an aspect of the language, then he'd have to write an essay showing his understanding. The essay was always wrong. His tutor would mark the essay, and started writing "Just another vain attempt" on the paper because he was getting really fed up. After a couple of weeks, he shortened it to the acronym JAVA. I had this pile of essays on my desk, and every once in a while I'd flick through them and see "JAVA" written on the bottom in big red letters, and I guess it grew on me." Stein had finished his account.
"So there is no relation to coffee or the Indonesian island?" I asked.
"That's right." he said. "In a way, you could say it was all down to James. If he had understood those lessons instead of being the complete dunce he was, the Java language might well have been called "Excellent"".
(End of interview)
April 1st 2003
Back to newsletter 028 contents