Network: Talking Java over too much coffee

James Gosling developed the `write once, run anywhere' programming language that has transformed computing. He talks to Steve Homer

Steve Homer
Monday 13 December 1999 00:02 GMT
Comments

Your support helps us to tell the story

This election is still a dead heat, according to most polls. In a fight with such wafer-thin margins, we need reporters on the ground talking to the people Trump and Harris are courting. Your support allows us to keep sending journalists to the story.

The Independent is trusted by 27 million Americans from across the entire political spectrum every month. Unlike many other quality news outlets, we choose not to lock you out of our reporting and analysis with paywalls. But quality journalism must still be paid for.

Help us keep bring these critical stories to light. Your support makes all the difference.

James Gosling's grandparents were homesteaders in Canada and it's not difficult to imagine this big, powerful bear of a man working a farm in depths of a Canadian winter. But this is no farmer. Gosling is a Sun Microsystems vice-president and the father of the Java programming language.

His pioneering grandparents imparted a sense of adventure in the young Gosling. And from his father he inherited a love of building things. "I get a terrific thrill out of building something. I could be doing programming or civil engineering or something like that." But as a teenager he started down a different route.

"I wanted to teach myself electronics, but my folks did not have a whole lot of money." So he took to "dumpster diving" (essentially searching through skips) to find components in junked TVs and other household goods. Thinking back to his early teens, his face lights up with excitement when he remembers one day finding dozens of relays (early switches vital for building complicated systems). "There was a whole rack of them behind an old telephone exchange. It was wonderful."

But at 14 came a life-changing experience. A friend of his father invited the lanky child to a local university and introduced him to computers. It was love at first sight. "I thought they were incredibly cool," he recalls. "With electronics it cost money to build things. But with computers you could create the most complex structures imaginable - for nothing."

Gosling was soon a fixture of the university. He hung around the computer labs and by simply watching the students and faculty members tapping in the access codes to open doors, he managed to gain entry to areas that were theoretically off limits. Most of the computing he did was on smaller, stand-alone machines (Digital PDP 8s for those readers old enough to remember punched cards).

"They had about as much horsepower as the average Smartcard and a lot less than a watch." But there was also an IBM 360 mainframe for running bigger jobs. For that you needed an account, which the 14-year-old did not have. But his old dumpster diving techniques came to the fore. He simply used to "fish an account card out of the trash". While he was never caught abusing the system, his programming skills were noticed and, at the age of 15, the physics department offered him a job. He wrote the software for groundstation data analysis of information coming back from the Isis 2 research satellite. "That people would actually pay money for me to do this was completely wonderful."

He inevitably ended up majoring in computer science at Calgary University and then went on to do a doctorate at Carnegie-Mellon. When he graduated from there in early 1983, he was offered a job at Sun, which was just setting up business, making powerful computers called servers. Instead he joined IBM's research department for a year and half. "I soon realised how incredibly stupid that was," he says. Sorry? Was IBM stupid, or you for joining? "Both," he shoots back. "Given the technological lead IBM had it should have completely crushed Sun." He left IBM and joined Sun after 18 months having "watched the full glory of the IBM political process. It was awe inspiring how stupid IBM turned out to be."

He helped in various projects within Sun, but it was in the early 1990s, when the beginnings of the Java revolution got under way, that he is happiest about. "A group of us were charged with looking at anything which could impinge on Sun's business. Weird stuff was going on in consumer electronics. CPUs [central processor units - the brains of a computer] were showing up in the most amazing things.

"As part of learning about the area we decided we would build a little device called Star 7. It was like a PDA and a fancy remote control combined." So the team set about building the device and, more importantly it would transpire, writing the software. "We soon found the [software] tools were not holding out." The problem was that existing programming languages like C and C++ were not producing solutions that could be run in the limited amount of memory available in the devices that had to sell in the price- conscious cut-throat consumer electronics world.

And there was another factor. "We were talking to a lot of consumer electronics companies. If we wrote in C++ we would be constrained to which CPU they were using. And they were using a huge number of CPUs, with the selection entirely driven by cost. They would switch processors in the middle of production of a device if they found a CPU that was cheaper." So traditional solutions would not work as a different C or C++ compiler (a complicated sort of computer language translator) would have to be built for each chip.

The solution was very neat. Java (the name originates from the developers drinking too much coffee) uses what Gosling and his team christened a "Virtual Machine" or VM. Instead of making a compiler for each chip they agreed a simple interface and to create a "pseudo computer" or VM for each chip, something far less complicated than a compiler. There are Java VMs for dozens of chips and the code that will run on the VM of one chip will run on the VM of any other. Java is now everywhere. It is being used for everything from industrial strength banking applications to clever little bits of trickery in Web pages. (It virtually runs the Internet.)

But you can't be the new kid on the block for long and the mantle of the "not Microsoft" solution is now attached more to the Linux operating system than to Java. Gosling is dismissive of Linux: he seems almost angry in his own relaxed way. "The problem with Linux is its sociology of delivery," he says. "People write Linux and debug it on the box in front of them and usually that's an Intel box. The binary [the compiled program] only runs on the processor it's been written for." With each different processor there has to be a different version of Linux: that means programs written for one may not run properly on another. "The Linux philosophy is if you don't find it, build it. That's OK for geeks with a lot of spare time." This from a man who used to rummage in the trash! But you can't be too harsh. Gosling is a man who probably would have been a Linuxhead himself if he had been born 20 years later.

What are his ambitions for five years hence? Gosling seems subdued after the Linux questions and ponders for a few seconds. "I am now way beyond any ambition I ever had," he says. "These days I don't get to do as much engineering as I used to. I suppose if I had an ambition it would to be not to have to give any more press interviews.

"These days I only spend about 20 per cent of my time building and doing real engineering. The real fantasy is to be doing that 100 per cent of the time."

Perhaps Sun should heed the needs of one of its best brains. Inside James Gosling there is still an enthusiastic, creative 14-year-old with a passion for computers. Perhaps Gosling needs a sabbatical - six months of pure programming perhaps. Now that would make him smile.

Bytes, page 14

Join our commenting forum

Join thought-provoking conversations, follow other Independent readers and see their replies

Comments

Thank you for registering

Please refresh the page or navigate to another page on the site to be automatically logged inPlease refresh your browser to be logged in