The web gets accessible
In the 1990s, the first user-friendly, graphical web-browser ("Mosaic) was released by developer Marc Andreessen from the National Center for Supercomputing Applications at the University of Illinois. ("Mosaic) was then replaced with the Mosaic Navigator, which later became the Netscape Navigator.
These "navigators" - which we now refer to as web "browsers" - made the web accessible to every one; not just those who knew how to use a command-line.
Java and the Web
Sun Microsystems, bought by released [Java] in 1995. Java borrowed syntax from C/C++ languages, but had a key a difference: Java was a compiled language that could be run on any operating system as long as the Java Virtual Machine was installed on the system. This embraced the idea of "WORA" or "write once, run anywhere". By re-designing the code base to be run through a virtual machine, Developers could develop a single code base, speeding development and reducing bugs.
Java "applets" were introduced to build on this idea, but in the context of the internet. A Java applet was simply a Java application embedded in an HTML web page. While simple, this enabled Java developers to not only deploy desktop applications, but also web applications using the same robust, high-level programming language they were used to. Now Java applications could be delivered to any operating system over the internet and be run on most computers, as long as the Java virtual machine was installed on the client system.
Undeniably useful; Applets had a critical flaw - Java applets were in-effect isolated from the DOM (Document Object Model). This separation meant that Java applets could not "see" (be aware of) or mutate (modify) the DOM. Java applets, just like all other Java code had to be compiled through a virtual machine before it could be run on the client system, and the Virtual machine couldn't parse the DOM, just the Java applet - in-effect isolating the applet from the web page.
To make more dynamic applications that didn't have the limitations imposed by the compilation process and virtual machine required to run Java applets, Netscape contracted Brendan Eich to build a brand-new "scripting" language that would enable developers to add interactivity and functionality to HTML documents, animate HTML content, perform conditional validations, and lay the foundation for a more dynamic and more comprehensive (i.e. "more desktop like") browser experience.
Netscape required Eich create this new "scripting" language with a couple of requirements:
- Eich's new language needed to combine great amounts of functionality into minimal and simple code
- The language should use a syntax that was familiar and approachable to existing developers by resembling Java
To make the language, do a lot with little work; Eich sought to employ functional programming schemes that made it quick, and simple to write procedures that would could process and/or generate data, as well as respond to input with very few lines of code.
While it can be debated which programming paradigm is "best", Eich sought to combine the the the ability to encapsulate functionality and data within the OOP structure of "objects" and "classes", but remove the rigid structure and more elaborate setup common with traditionally OOP languages like Java.
Competition & Browser Wars
Microsoft's strategy proved to be successful, but Microsoft didn't just want to compete in this new market, Microsoft hoped to dominate it. In an effort to accomplish this goal, Microsoft developed a web-language of its own CSS or "cascading stylesheets". With CSS, developers could make their web pages not only interactive, but also beautiful.
It wasn't long before Internet Explorer became the default browser used by most people. Microsoft's strategy had worked. Netscape responded by launching anti-trust lawsuits against against Microsoft, and even defacing the "e" logo statue outside Microsoft's office. Despite Netscape's effort's agains the software giant, by 1999 - Internet Explorer controlled 99% of the market.
Ending the war
Netscape was fighting a losing battle, and rapidly losing market share. While the company may not survive, their mission to advance web development remained vital to the company's leaders.
Continuing on its' mission to keep the web open and accessible; Mozilla developed and released it's own open-source web-browser - "Firefox". As competitors continued to enter the market introducing their own browsers (Opera, Safari, FireFox, etc.), Internet explorer slowly started to lose its domination of the market. Despite competitors, Internet Explorer continued to be the dominant browser with market share only falling to 50% by 2010.
OOP or Functional?
Blurring the desktop and web experience