JavaScript name: Netscape, Java, and the Web
The JavaScript name suggests a close relationship to Java, but the languages are distinct and differ greatly in design. Brendan Eich created JavaScript at Netscape in 1995. Their names and syntax share similarities, while their development followed separate paths. Eich considered the naming a marketing ploy because Java was a popular new language as the dot-com boom began. Its beginnings also reflect Netscape's effort to make web pages capable of dynamic behavior.
That effort followed a rapid change in browsers. Mosaic, the first popular browser with a graphical user interface, appeared in 1993. Its lead developers founded Netscape, whose more polished Navigator browser arrived in 1994 and quickly became the most used. Web pages at the time were static, without dynamic behavior after loading. Netscape pursued two approaches to adding a language: working with Sun to embed Java and hiring Eich to embed Scheme. Management then directed Eich toward a new language with syntax closer to Java. It aimed to help nonprogrammers create dynamic, interactive websites, expanding what pages could do inside Navigator.
The new language and its interpreter initially shipped under the LiveScript name in a Navigator beta in September 1995. The JavaScript name replaced it for the official December release. Competition soon added another implementation: Microsoft introduced Internet Explorer in 1995 and developed its own interpreter, JScript. Released in 1996 alongside early CSS support and HTML extensions, Microsoft's implementation differed noticeably from Netscape's. Developers struggled to make websites work well in both browsers. Labels recommending one browser or the other became widespread for several years, reflecting an environment in which the same site could behave differently depending on the software used to visit it.
In November 1996, Netscape submitted the language to Ecma International as a starting point for a specification browser vendors could follow. The first ECMAScript specification appeared in June 1997, followed by editions in 1998 and 1999. Work on a further edition began in 2000, but Microsoft's growing browser dominance complicated standardization. Internet Explorer reached 95% market share in the early 2000s, making JScript the practical standard for client-side scripting. Microsoft initially participated in the standards process and implemented proposals, then stopped collaborating on the work. The proposed ECMAScript 4 was eventually mothballed, leaving the language's development shaped by both standards discussions and browser competition.
The history behind the JavaScript name continued through renewed browser competition. Mozilla released Firefox in 2004, taking significant market share from Internet Explorer. The following year, Jesse James Garrett coined Ajax in a white paper describing technologies that could load data in the background without requiring complete page reloads. JavaScript formed the backbone of that approach. Libraries including jQuery, Prototype, Dojo Toolkit, and MooTools grew alongside their communities. Google introduced Chrome in 2008 with a faster V8 engine using just-in-time compilation, prompting other vendors to overhaul their engines. An Oslo conference that July helped lead to agreement on combining standards work and releasing ECMAScript 5 in December 2009.
Beyond the JavaScript name, the language has its own technical characteristics. It uses dynamic typing, prototype-based object orientation, and first-class functions, and supports event-driven, functional, and imperative programming styles. It provides interfaces for text, dates, regular expressions, standard data structures, and the Document Object Model. The ECMAScript standard itself does not include networking, storage, or graphics input and output; browsers and other runtime systems provide those facilities. In web pages, scripts can validate form values before submission, control streaming media, animate objects, or send requests that load content without refreshing the entire page. They can also store and retrieve data on a user's device.
JavaScript's reach expanded beyond browser execution with Node.js, created by Ryan Dahl in 2009. Node combines the V8 engine with an event loop and input/output interfaces to provide a standalone runtime. Other applications use the language through frameworks including Electron, Cordova, and React Native. Adobe Acrobat supports scripting PDF documents, and GNOME Shell extensions can also be written in it.
The JavaScript name has a separate legal history. The United States trademark was issued to Sun Microsystems on 6 May 1997 and transferred to Oracle when it acquired Sun in 2009. In September 2024, Ryan Dahl spearheaded a letter asking Oracle to free the trademark. Eich was among more than 14,000 signatories supporting that initiative. Meanwhile, the ECMAScript draft specification is maintained openly on GitHub, with annual snapshots producing editions and potential revisions moving through a proposal process.