JavaScript: The Good Parts Part One: History - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

JavaScript: The Good Parts Part One: History

Description:

Part 1 - The History of the Language. Part 2 - A Survey of the ... Gopher. WAIS. WWW. The Web. 3270 for the. Twenty-First Century. Interactivity. Interactivity ... – PowerPoint PPT presentation

Number of Views:289
Avg rating:3.0/5.0
Slides: 55
Provided by: douglasc
Category:
Tags: javascript | good | history | one | part | parts

less

Transcript and Presenter's Notes

Title: JavaScript: The Good Parts Part One: History


1
JavaScript The Good PartsPart One History
  • Douglas Crockford
  • douglas_at_crockford.com

2
Overview
  • Part 1 - The History of the Language
  • Part 2 - A Survey of the Language
  • Part 3 - Pseudoclassical Inheritance
  • Part 4 - Prototypal Inheritance
  • Part 5 - Functional Inheritance
  • Part 6 - Performance
  • Part 7 - Security
  • Part 8 - Style
  • Part 9 - JSLint
  • Part 10 - ADsafe
  • Part 11 - JSON
  • Part 12 - Theory of the DOM

3
Herman Hollerith
4
Hollerith Card
5
1890 Census
6
Mainframes
7
Console
8
Control Data 6600
9
Timesharing
10
Timesharing
11
Timesharing
12
Timesharing
  • A timesharing system was a community.
  • File sharing.
  • Email.
  • Chat.
  • Blogs.

13
3270
14
Douglas EngelbartThe Mother of All Demos
15
Personal Computing
16
Personal Computing
17
Personal Computing
18
Personal Computing
  • Personal computing killed timesharing.
  • A big step forward in affordable computing and
    interactivity.
  • A big step backward in social computing.
  • It would take 20 years for networks to fill the
    gap.

19
Personal Computing
20
Hypercard
  • Stacks of cards containing images, buttons, and
    text fields.
  • Didn't anticipate color.
  • Didn't anticipate text links.
  • Didn't anticipate networking.
  • A decade later, cards would become pages.

21
ARPANET became the Internet.
  • All of the world's computer networks coalesce
    into one.

22
Information Retrieval
  • FTP.
  • Archie.
  • Gopher.
  • WAIS.
  • WWW.

23
The Web
  • 3270 for the
  • Twenty-First Century

24
Interactivity
25
Interactivity
  • Java was a huge failure.
  • Very popular. High acceptance.
  • The "Write once, run everywhere" promise not
    kept.
  • Unworkable "blame the victim" security model.
  • Tedious UI model.
  • Successful as a server technology.

26
Interactivity
  • Netscape
  • JavaScript
  • Programming model similar to HyperCard
  • Domains of HTML pages instead of stack of cards

27
Interactivity
  • Microsoft
  • JScript
  • High fidelity clone of JavaScript
  • Generalized document model
  • All elements are scriptable
  • XMLHttpRequest

28
Five Years Later
  • Jesse James Garrett
  • discovers Ajax

29
Ajax
  • Applications without installation.
  • Highly interactive.
  • High social potential.
  • Easy to use.
  • Great network efficiency.
  • But it is too damn hard to write applications.

30
1992
  • Jim Gosling at Sun Microsystems
  • Greentalk Oak Java

31
1995
  • Netscape v Java

32
1995
  • Brendan Eich
  • LiveScript

33
Influences
  • Java
  • Syntax, conventions
  • Self
  • Prototypal inheritance, dynamic objects
  • Scheme
  • Objects as first-class values, loose typing
  • Perl
  • Regular expressions

34
Netscape's LiveWire
  • LiveScript is the scripting language
  • in the browser ltscriptgt
  • in the server ltservergt
  • LiveConnect is the api that LiveScript uses to
    connect Java with the page.
  • Sun wanted Netscape to abandon LiveScript.
  • The name was changed to JavaScript.

35
1996
  • Microsoft
  • JScript

36
1998
  • European Computer Manufacturers Association
  • ECMAScript

37
1999
  • ECMAScript, Third Edition
  • Still the current standard

38
1999
  • Work begins on the fourth edition.
  • JScript.net
  • Flash ActionScript 3

39
E4X
  • Extensions to ECMAScript for XML
  • Proposed by BEA
  • Allows ltXMLgt literals
  • Not included in ECMAScript Third Edition
  • Not included in ECMAScript Fifth Edition
  • Not widely adopted
  • Not in IE7

40
2005
  • Ajax

41
2007
  • The most popular language in the world.

42
2009
  • The Fifth Edition might be approved this year.

43
The World's Most Misunderstood Programming
Language
44
Sources of Misunderstanding
  • The Name
  • Mispositioning
  • Design Errors
  • Bad Implementations
  • The Browser
  • Bad Books
  • Substandard Standard

45
JavaScript is the only programming language that
people don't bother to learn before using.
46
There is no standard that says that a web browser
must implement JavaScript.
  • JavaScript is the only language implemented in
    all popular web browsers.

47
There was no careful review of the language or
its problem domain. There was no review of its
suitability or the soundness of its design. It
was slapped together at Netscape, and then copied
elsewhere.
  • Given the process that created JavaScript and
    made it a de facto standard, we deserve something
    far worse.

48
Platforms
  • Browsers
  • WSH and Dashboard
  • Yahoo!Widgets
  • DreamWeaver and Photoshop
  • SilverLight and AIR
  • Embedded

49
A language of many contrasts.
  • The best ideas and the worst ideas.

50
The broadest range of programmer skills of any
programming language.
  • From computer scientists to cut-n-pasters and
    everyone in between.

51
Complaints
  • "JavaScript is not a language I know."
  • "The browser programming experience is awful."
  • "It's not fast enough."
  • "The language is just a pile of mistakes."

52
Hidden under a huge steaming pile of good
intentions and blunders is an elegant, expressive
programming language.
  • JavaScript has good parts.

53
JavaScript is succeeding very well in an
environment where Java was a total failure.
54
The Very Best PartStability
  • No new design errors since 1999!
  • (But that's about to change.)
Write a Comment
User Comments (0)
About PowerShow.com