Transcript
Page 1: JavaScript: Your New Overlord

JavaScript: Your New Overlord

Page 2: JavaScript: Your New Overlord

JSON: The World’s Best Loved Data Interchange Format

Page 3: JavaScript: Your New Overlord

JavaScript:The World’s Most Misunderstood

Programming Language

Java’s stupid little brother

Page 4: JavaScript: Your New Overlord

The World’s Most Popular Programming Language

Page 5: JavaScript: Your New Overlord

The World’s Most Popular Programming Language

The World’s Most Unpopular Programming Language

Page 6: JavaScript: Your New Overlord

It is the language that people use without bothering to learn it first.

Programming is complicated business. It should never be

undertaken in ignorance.

Page 7: JavaScript: Your New Overlord

Java Applets

The biggest failure in the history of software1995

Page 8: JavaScript: Your New Overlord

Java Applets

The biggest failure in the history of software

Page 9: JavaScript: Your New Overlord
Page 10: JavaScript: Your New Overlord
Page 11: JavaScript: Your New Overlord

Ten Days in May

Mocha

Page 12: JavaScript: Your New Overlord

Scheme SelfJava

LiveScript

Page 13: JavaScript: Your New Overlord

Scheme SelfJava

LiveScriptJavaScript

Page 14: JavaScript: Your New Overlord

Scheme SelfJava

LiveScriptJavaScript

JScript

Page 15: JavaScript: Your New Overlord

Scheme SelfJava

LiveScriptJavaScript

JScript ECMAScript

Page 16: JavaScript: Your New Overlord

“Another software technology will come along and kill off the web,

just as it killed news, gopher, et al. And that judgment day will arrive

very soon – in the next two to three years, not 25 years from now.”

George F. ColonyChairman of the Board and CEOForrester Research, Inc. [2000]

http://web.archive.org/web/20001019084041/http://www.forrester.com/ER/Mark eting/1,1503,214,FF.html

Page 17: JavaScript: Your New Overlord

JavaScript was a failed language.

It should have died when Netscape died.

Page 18: JavaScript: Your New Overlord

JavaScript has Good Parts.

Page 19: JavaScript: Your New Overlord

Statically scoped first class functions with lexical closure

var Y = function (le) { return (function (f) { return f(f); }(function (f) { return le(function (x) { return f(f)(x); }); })); };

Page 20: JavaScript: Your New Overlord

Prototypal Inheritance

An object containing

public methods

An object containing

instance data

Page 21: JavaScript: Your New Overlord

Beginners, scientists,and everybody in between

Page 22: JavaScript: Your New Overlord

How IE8 Spends Its Time

• Average time allocation of the Alexa 100:

Layout 43.16% Rendering 27.25%

HTM

L 2.

81%

Mar

shal

ling

7.34

%

DO

M 5.

05%

Form

at 8.

66%

JScr

ipt 3

.23%

Oth

er 2

.5%

Page 23: JavaScript: Your New Overlord

High Performance JavaScript Engines

Page 24: JavaScript: Your New Overlord

Everywhere

• Browser• Operating Systems• Databases• Servers• Mobile• Televisions

Page 25: JavaScript: Your New Overlord

High Performance Data Structures

Page 26: JavaScript: Your New Overlord

Securing JavaScriptCaja http://code.google.com/p/google-caja/ADsafe http://www.ADsafe.org/DR Ses es-lab.googlecode.com/files/dr-ses.pdf

Page 27: JavaScript: Your New Overlord

JavaScript: The Universal Virtual Machine

Page 28: JavaScript: Your New Overlord

GWT

Java JavaScriptso it can run everywhere

 

Page 29: JavaScript: Your New Overlord

spidermonkey.cpp |=> clang |=> emscripten |=> closure |=> js.js

Page 30: JavaScript: Your New Overlord

New Languages

• CoffeeScript• Kaffeine• Move• Objective-J• Sibilant• ZedScript• and over a hundred more

Page 31: JavaScript: Your New Overlord

Old Languages• C++• C#• Forth• Haskell• Java• Lua• Ocaml• Pascal

• Perl• Python• Rebol• Ruby• Scala• Scheme• Smalltalk• Tcl

Page 32: JavaScript: Your New Overlord

A better compilation target.

goto

Page 33: JavaScript: Your New Overlord

JavaScript:

The World’s Most Important Programming Language

Page 34: JavaScript: Your New Overlord

Thank you and good night.


Top Related