And that’s just the beginning.
At this point, the web was static. You loaded a page and what you saw was what you got.
Form validation was cumbersome. Users would fill out a form, submit it and wait for the server to tell them if the form submission was valid.
Changing a portion of the page meant that the whole page needed to be re-rendered by the server.
No changing colors. No animation.
At the same time, web pages (called “the front end”) were not the domain of developers and engineers.
Designers – mainly coming from a photography, layout or other design background – were building websites at the time.
So whatever was to be part of the browser to make the web more dynamic should be accessible to non-programmers.
“At the time, very non-technical people were the ones building the web,” Swann said. “Server code was simple. Creative types were making the innovations on the client side.”
Interestingly, this corresponded with the rise of another programming language: Java.
Sun Microsystems was making a big push for Java (called Oak at the time) and Netscape Communications was about to close a deal with them to make it available in the browser.
So why would Netscape be facilitating seemingly competitors at the same time?
The idea was that Java was not suited for the type of audience that would consume Mocha.
Java was just too big, too enterprisy for the role.
So Netscape saw Java being aimed at big, professional, component writers while Mocha would be used for small scripting tasks.
In other words, Mocha was meant to be the scripting companion for Java, just as Visual Basic was the scripting companion to C/C++ on the Windows platform.
Netscape fast tracked Mocha because of the Sun deal and to keep up in the browser wars.
This meant a number of concessions, including making Mocha, which was originally intended to be more like the languages Scheme and Self, syntactically look like Java, so that it would make sense with the marketing push from Netscape.
“It was weird,” Swann said. “You had a language that looked like one language, but acted like two other languages. That confusion persists today.”
Wedding the two would have created isomorphic development, with the same language used on both client and server.
Although this never came to fruition in that form, Node, decades later would finally fulfill that ideal.
“The Netscape and Sun deal had another purpose,” Swann said. “Microsoft could see the the winds starting to change directions. They owned the desktop operating system world, but with the Internet growing so rapidly, they were realizing the Internet was going to be the new desktop and the browser was going to be the new operating system.”
They couldn’t just concede that to Netscape.”
So the Netscape / Sun partnership was as much about fighting off competition as it was about innovation.
Many sites were already running off of the new scripting languages, so Microsoft had to support it or risk alienating those website owners and visitors.
Keeping “Java” off the name avoided possible trademark issues.
However, JScript was different in more than just name.
Slight differences in implementation, in particular with regards to certain DOM functions, caused ripples that would still be felt many years into the future.
“This caused so much angst among developers,” Swann said. “You had this singular language that was supposed to power the Internet, but you had browsers that, in many cases, worked very differently or not at all with the same script.”
The first version of JScript was included with Internet Explorer 3.0, released in August 1996.
“Every time something went to QA, you’d hear ‘doesn’t work in Internet Explorer’ or ‘doesn’t work in Netscape,'” Swann said. “Development times basically doubled.”
This gave birth to ECMAScript.
“That was all well and good, and today ECMAScript is followed pretty closely,” Swann said. “But back then, it was basically a suggestion. One that was largely ignored.”
That gave rise to Ajax.
Gunner Technology creates custom software for the private sector, public sector and entrepreneurs. Check out the company livestream on Facebook, YouTube and Periscope every Thursday at 1:00 pm eastern time or catch it on iTunes whenever you want. Check back every Wednesday at 1:oo pm for a new blog post.