A Quick History

Back in the day

  • Created in May 1995 by Brendan Eich as Mocha
  • First released with beta versions of Netscape Navigator 2.0 under the name LiveScript
  • Netscape Navigator's official release in 1996 featured support for JavaScript
    • The name is characterized as a marketing ploy by Netscape

Brendan Eich

  • JavaScript creator
    • He did it in 10 days while working for Netscape
  • Career
    • Went on to co-found Mozilla
    • Assisted in the formation of Mozilla Foundation and Mozilla Corporation
    • Owned the JavaScript engine SpiderMonkey until 2011
    • Now working on Brave

Trouble lurks

  • Microsoft wanted a piece of the action so they made JScript for Internet Explorer
  • Everything was falling apart so they got together with Netscape to develop a standard

What's ECMAScript?

  • ECMAScript is the language specification
  • It describes what JavaScript implementations share in common
  • Everyone agrees the name stinks
  • Implementations try to adhere to the standard, but may implement their own features
  • Latest version: 8 (ECMAScript 2017)

JavaScript Development

JavaScript implementations

  • SpiderMonkey
    • used by Firefox
  • V8
    • used by Google Chrome and Node.js
  • Chakra
    • for JavaScript in Microsoft Edge

Why do people like it?

  • Capitalized at the right time
  • Provides interactivity within the browser
    • Reduces server load
    • Fast
  • Easy to write code that runs concurrently

What it's used for

  • Client-side scripting (e.g., this presentation)
  • Server-side scripting

JavaScript in CPL

Things to Know

  • We're going to use Node.js 6.11.3 (server-side) and the Firefox web browser (client-side)
  • Your assignment code must adhere to the Google JavaScript Style Standard
    • Good style is important

Here be Dragons