JavaScript
Past, Present and Future
Madhavrao Pachupate
Past
History
1994 - April
Marc Andersson and Jim Clarks forms a company "Mossaic Communication Corporation" which later was renamed as Netscape later on.
Objective
Build a product like Ninetendo. They recruited people from SGI and NCSA Mosaic
1994 - October (13)
Released first product "Mosaic Netscap 0.9" web browser. Within four months, it captured three fourth of the browser market. It was later renamed as "Netscape Navigator" to avoid conflict with NCSA which had browser named "Mosaic"
Guess the internal code name of the Project "Netscape Navigator"
"Mozilla" - Mosaic Killer
Aim of project was to displace Mosaic as number one Browser
1995 - April
Brendan Eich joined Netscape to work on server side product
1995 - May
Brendan Eich was moved to Browser project. There was heavy pressure from Sun to support Java in Netscape Browser. Brendan helps Netscape decide Java is not the language of the Web.
Why Not Java?
- Too Complex
- Constantly running "javac"
- Always get main method on a class
- Not for casual, amateur programmer
- Needed something like VB
- Meant for people who were learning programming for the first time
Inspiration for JavaScript
-
C - Syntax
-
Java - primitive values vs Object
-
Scheme and AWK - First class function
-
Self - prototypal inheritance
-
Perl and Python - strings, array and regular expression
Language was defined in 10 days
1995 - September
JavaScript developed under code name "Mocha" was first released under the name "LiveScript". Why "LiveScript" ?, because Netscape had a server product named "LiveWire" and so marketing team wanted name under the same brand. Also, SUN had copyright on the word "Java" and it allowed Netscape to rename "LiveScript" to "JavaScript" when it was released with Netscape 2.0B.
1995 - December
Netscape introduced JavaScript as a server side language in its product Netscape Enterprise Server
1996 - July
Microsoft reverse engineered JavaScript and created JScript which was released with IE 3.0. IE 3.0 was also first IE which supported CSS and various other extensions for HTML. Microsoft created problem by introducing specs very different from one of Netscape - making it difficult to develop cross browser website.
1996 - December
Netscape submitted JavaScript to ECMA International for consideration as a industry standards, and subsequent work resulted in standardized version named ECMAScript
1997 - June
ECMA Internationl published first version of ECMA-262 Specification - ECMAScript 1.0
1998 - June
ECMA Internation published second version of ECMA-262 Specification to adhere to ISO/IEC 16262 standard - ECMAScript 2.0
1999 - December
Third edition of ECMA-262 specification was published - ECMAScript 3.0
Fourth Edition was never published
2009 - December
Fifth edition of ECMA-262 specification was published - ECMAScript 5.0
2015 - June
Sixth edition of ECMA-262 specification was published - ECMAScript 6.0
History of Mozilla
- Mozilla
- Mozilla Foundation
- Mozilla Corporation
Mozilla
Mozilla is a free software community formed in 1998, by members of Netscape.
Mozilla Foundation
Is a non-profit organization that exists to support and collectively lead open source Mozilla project in year 2003
Mozilla Corporation
Established in 2005, to handle revenue related activities of Mozilla Foundation
Where is ES 4.0?
Harmony vs ES.Next vs ES 6.0

Present
Features
Imperative and Structured
- Control Statement
- if, if .. else ..
- while ..
- do.. while
- for each
- for in
- switch
- scoping (function)
- expression & statements
Dynamic
- Dynamic Typing (Duck Typing)
- Object based (associative array)
- Runtime evaluation (eval)
Functional
- Function as a First Class Citizen
- Lexical Closure
- Anonymous Function
Prototype based OOP
- Prototypes
- Function as Object Constructor
- Function as a method
Delegation - Implicit and Explicit
- Function as a
- Roles
- Traits
- Object Composition and Inheritance
Other
- Run-time Environment
- Browser
- NodeJS
- Java / .Net
- Variadiac Functions
- Array and Object Literals
- Regular Expressions
- Vendor specific extensions
Future
Harmony
Resources
- https://github.com/sorrycc/awesome-javascript
- https://github.com/tyrchen/awesome-es6
- https://ponyfoo.com/articles/tagged/es6-in-depth
JavaScript
By Madhavrao Pachupate
JavaScript
- 129