Most importantly, is incredibly useful, allowing developers to quickly create apps with audiences in the millions.
It all began in the 90s between six months period from May to December 1995. Netscape Communications Corporation had a strong presence in the young web.
Its browser, Netscape Navigator, was gaining traction as a competitor to Mosaic, the first popular web browser.
Marc Andreessen, founder of Netscape Communications and part of the ex-Mosaic team, had the vision that the web needed a way to become more dynamic.
Animations, interaction and other forms of small automation should be part of the web of the future. So the web needed a small scripting language that could interact with the DOM (Document Object Model).
But this scripting language should not be oriented to big-shot developers and people with experience in the software engineering side of things. Java was on the rise as well, and Java applets were to be a reality soon.
So the scripting language for the web would need to cater to a different type of audience: designers.
Indeed, the web was static. HTML was still young and simple enough for non-developers to pick up.
Brendan Eich was contracted by Netscape Communications to develop a “Scheme for the browser”.
Scheme is a Lisp dialect and, as such, comes with very little syntactic weight. It is dynamic, powerful, and functional in nature.
The web needed something of the sort: easy to grasp syntactically; dynamic, to reduce verbosity and speed up development; and powerful.
Eich saw a chance to work on something he liked and joined forces. At the moment there was a lot of pressure to come up with a working prototype as soon as possible.
The Java language (Oak at the time), was starting to get traction and Sun Microsystems was making a big push for it. On the other hand, Netscape Communications was about to close a deal with them to make Java available in the browser.
Sun Microsystems did have a browser in 1995 before the Netscape partnership, but it was slow and resource hungry.
The idea at the time was that Java borrows syntax from C / C++, but compiled Java bytecode is portable — it can run as-is on different operating systems.
A user with both Netscape Navigator and the Java Virtual Machine installed could execute Java programs as standalone “applets,” contained within (but separated from) a web page.
An applet is a Java program that can be embedded into a web page. It runs inside the web browser and works at client side.
Java’s fenced-off nature meant that there was still a need for a “scripting” language to enhance the web page – animating drop-down menus, validating form entries, etc.
Since Sun Microsystems was positioning Java as the professional choice for complex embedded programs, this companion language was envisioned as a small approachable solution for designers and page authors.
Crucially, it could be written directly inside of HTML documents and would be interpreted by the Netscape Navigator browser itself.