1995 was a different era and a different world. At the time Netscape considered the browser/server combination as a new kind of distributed operating system, remembered Computer magazine. Browsers had the potential to let developers reach users on any platform — Windows, Mac, or Linux — but the missing ingredient was a programming language. What Netscape really wanted was a language to complement Java that would appeal to beginning programmers, just like Microsoft’s Visual Basic.
Eich was the right man for the job, the magazine points out, because he’d already built programming languages when he was a college student, “just to experiment in syntax.” Eich remembers that when it came to lexical analysis and language parsers, “I loved that stuff, because it was all very pretty and clean, theoretically… What that gave me was the ability to quickly knock out a language interpreter.” Even before joining Netscape, he’d also created languages for building extensions into network monitoring tools at Silicon Graphics. (And in addition, Eich tells his interviewer, “I’d done it for fun, just to make my own languages.”)
In fact, it was the founder of Silicon Graphics, Jim Clark, who’d gone on to found Netscape — so there was already some interest in Eich’s language-writing skills. “I was invited to join in the beginning, which I didn’t, because I was sticking with a previous startup for another year,” Eich recently told InfoWorld.
But when Eich finally took that fateful position at Netscape the next year, “I was lured with this idea of doing a very-popular-with-academics language called Scheme… The idea was ‘Come and do Scheme in Netscape. Put this programming language into the browser.’” He later calls Scheme “that beautiful research language I was tempted with.” But by the time he’d joined Netscape, they had a deal with Sun Microsystems, which was now pushing their newly-minted language Java. “And suddenly the story was, ‘Well, we don’t know if we want Scheme. We don’t know if we even need a little language like we wanted you to do. Maybe Java’s enough.’”
It’s a turning point he’ll always remember. Even back in 2012, Eich told Computer magazine that he was being squeezed on two fronts. “We were all feeling like Microsoft was going to come after Netscape, because they had tried to buy Netscape in late ’94… But we also were in a weird game theory with respect to Java, because even at Netscape, some people thought, ‘Well, if we have Java, do we really need a second language?’ They didn’t see the benefit of the Visual Basic companion language for a much larger cohort of programmers or amateurs, designers or beginners.”
“But Marc Andreessen of Netscape, Bill Joy of Sun, and myself and a few others saw that there was a need for a language that was approachable, that you could put directly in the web page,” he tells InfoWorld. Or, as he explained it to Computer, “I was writing something that could be used by people who didn’t know what a compiler was. They were just going to load it.
“It was like Basic. That was really the pitch….”
“I was under marketing orders to make it look like Java but not make it too big for its britches. It’s just this sort of silly little brother language, right? The sidekick to Java.”
What Happened Next
InfoWorld asked how he reacted to its early success. “When it started getting early traction, in spite of all the bugs and rush job aspects, I was a little surprised. But I wasn’t shocked, because on reflection was happened was the people that wrote the web page could now program the web page.”
“It was also an incredible rush job, so there were mistakes in it. Something that I think is important about it is that I knew there would be mistakes, and there would be gaps, so I made it very malleable as a language.”
What He’d Do Differently
“One of the notorious ones was, ‘I’d like to compare a number to a string that contains that numeral. And I don’t want to have to change my code to convert the string to a number, or the number to a string. I just want it to work. Can you please make the equals operator just say, Oh this looks like a two, and this looks like a string number two. They’re equal enough.’
But 23 years put those 10 days in a different perspective. “When you look at what I did in 10 days, it was like a seed. It was this potent kind of compromise, but still very powerful kernel that grew into a bigger language. And part of the challenge — and I’ve been working on the standardization ever since I had to restart the standards body… I had to help people see how to let the seed unfold into a full language.”
“So I’m making up for it,” he says with a laugh.
Feature image: Brendan Eich at the dotJS conference.
Let’s create the next big thing together!
Coming together is a beginning. Keeping together is progress. Working together is success.