As the father of Java, James Gosling gets a lot of love from the millions of developers who use the language around the world. Today, however, he programs robots that swim in the ocean. We caught up with him to discuss the early days of Java.
SD Times: How did your work on Java start?
Gosling: This started for me in late 1990s. There was a group of us at Sun who kept looking at the way the world was going, and one of the things that was really apparent was there were a lot of people outside the computer industry using digital systems inside their jobs. We looked at everything from control systems for elevators, locomotives, home electronics, to early cell phones. They all had processors in them. Pretty much the whole computer industry was ignoring that, and they were largely ignoring the computer industry.
We thought this was wrong and somewhat weird. So we went off and spent some time studying the way that industry works. We went on a bunch of road trips to consumer electronics manufacturers all over Europe and Asia. We came up with this sort of big feeling there was this collision that was just barely starting to happen.
When we talked to the consumer electronics folks, they were sort of reinventing computer networking in a really bad way. They were pretty much repeating the experiments people in the computer science world had done 20 years before. Many of the things people were doing were doomed.
By the early 1990s, all the Internet protocols, like TCP/IP, were pretty well established. At the same time, there were attitudes the consumer electronics world had. To help us understand that more (being a group of engineers), Scott [McNealy] our CEO, was really good about setting up people to go off and explore stuff. There were originally like three or four of us, and it expanded to a dozen or so. We built a prototype device as a way of helping us learn what the issues were.
What types of issues were keeping electronics manufacturers from moving faster?
One of the issues that came out really strongly very early on was that the way we addressed programming itself was causing cost issues with many of the manufacturers. It was causing issues with the business plan for consumer electronics. My part of the project was to go off and think about the programming methodology around this sort of highly networked system. When I started, I was thinking, “This will just be C++ with some fixes.” But then it kind of grew, and the fixes became much more extensive, and so that’s really the only part of the project that survived: the programming tool.
The rest of the Green Project was really important to provide the motivation for a lot of the issues in Java. The really lucky part was this collision between computers and the consumer industry, so a lot of this really showed up. The large-scale networking really has happened. Sun Microsystems, at the time as a company, networking was the central concept in everything we did.