javascript: your new overlord
DESCRIPTION
First misunderstanding, then huge semipopularity, and now, respect. Despite its many obvious deficiencies, Java's stupid little brother has gotten something profoundly right. What does the future hold for this duckling?TRANSCRIPT
JavaScript: Your New Overlord
JSON: The World’s Best Loved Data Interchange Format
JavaScript:The World’s Most Misunderstood
Programming Language
Java’s stupid little brother
The World’s Most Popular Programming Language
The World’s Most Popular Programming Language
The World’s Most Unpopular Programming Language
It is the language that people use without bothering to learn it first.
Programming is complicated business. It should never be
undertaken in ignorance.
Java Applets
The biggest failure in the history of software1995
Java Applets
The biggest failure in the history of software
Ten Days in May
Mocha
Scheme SelfJava
LiveScript
Scheme SelfJava
LiveScriptJavaScript
Scheme SelfJava
LiveScriptJavaScript
JScript
Scheme SelfJava
LiveScriptJavaScript
JScript ECMAScript
“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
JavaScript was a failed language.
It should have died when Netscape died.
JavaScript has Good Parts.
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); }); })); };
Prototypal Inheritance
An object containing
public methods
An object containing
instance data
Beginners, scientists,and everybody in between
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%
High Performance JavaScript Engines
Everywhere
• Browser• Operating Systems• Databases• Servers• Mobile• Televisions
High Performance Data Structures
Securing JavaScriptCaja http://code.google.com/p/google-caja/ADsafe http://www.ADsafe.org/DR Ses es-lab.googlecode.com/files/dr-ses.pdf
JavaScript: The Universal Virtual Machine
GWT
Java JavaScriptso it can run everywhere
spidermonkey.cpp |=> clang |=> emscripten |=> closure |=> js.js
New Languages
• CoffeeScript• Kaffeine• Move• Objective-J• Sibilant• ZedScript• and over a hundred more
Old Languages• C++• C#• Forth• Haskell• Java• Lua• Ocaml• Pascal
• Perl• Python• Rebol• Ruby• Scala• Scheme• Smalltalk• Tcl
A better compilation target.
goto
JavaScript:
The World’s Most Important Programming Language
Thank you and good night.