javascript landscape
DESCRIPTION
Talk given at the Aalto UniversityTRANSCRIPT
JAVASCRIPT
Monday, April 11, 2011
Me, Myself and I
Mobisoft / StrataGen / DDSSenior Software Architect
TUTResearcher
Ph.D. student
Monday, April 11, 2011
Groke
JavaScript
Frameworks
Monday, April 11, 2011
JavaScript:The World's Most Misunderstood
Programming Language
Monday, April 11, 2011
“JavaScript is the most popular programming language in the world”
Monday, April 11, 2011
“JavaScript is the most popular programming language in the world”
...“but it’s also the least popular programming language in the world”
- Douglas Crockford
Monday, April 11, 2011
The (mis)conception
“It’s a toy language”
“Even designers can do it”
“What good is a scripting language anyway”
Monday, April 11, 2011
The (mis)conception
“It’s a toy language”
“Even designers can do it”
“What good is a scripting language anyway”
Strong Typing vs. Strong Testing
Monday, April 11, 2011
The Culprit
Monday, April 11, 2011
“Programmers are artists and they don’t want anybody to mandate
which language to use”
Monday, April 11, 2011
“Programmers are artists and they don’t want anybody to mandate
which language to use”
“Lisp in C’s Clothing”
Monday, April 11, 2011
“Programmers are artists and they don’t want anybody to mandate
which language to use”
“Lisp in C’s Clothing”
Pitfalls in the Language
Monday, April 11, 2011
“Programmers are artists and they don’t want anybody to mandate
which language to use”
“Lisp in C’s Clothing”
Pitfalls in the Language
Typecasting
Monday, April 11, 2011
The Jungle
ECMAScript
JavaScript
JScript
ActionScript
Huh?
Monday, April 11, 2011
The Jungle
ECMAScript
JavaScript JScript ActionScript
Monday, April 11, 2011
Mocha
Monday, April 11, 2011
Mocha
LiveScript
Monday, April 11, 2011
Mocha
LiveScript
JavaScript
Monday, April 11, 2011
Mocha
LiveScript
JavaScript
JScript
Monday, April 11, 2011
Mocha
LiveScript
JavaScript
JScriptECMAScript
Monday, April 11, 2011
Mocha
LiveScript
JavaScript
JScriptECMAScript1,2,3
Monday, April 11, 2011
Mocha
LiveScript
JavaScript
JScriptECMAScript1,2,3
ActionScript
Monday, April 11, 2011
Mocha
LiveScript
JavaScript
JScriptECMAScript1,2,3
ActionScriptES4?
Monday, April 11, 2011
Mocha
LiveScript
JavaScript
JScriptECMAScript1,2,3
ActionScriptES4?
ES 3.1 ES Harmony
Monday, April 11, 2011
JavaScript as a general- purpose programming
language?
Monday, April 11, 2011
Monday, April 11, 2011
The Pioneers
HelmaPhobos
JaxerKDE scripting
Mac Dashboard widgetsGoogle Desktop gadgets
Monday, April 11, 2011
The Pioneers
HelmaPhobos
JaxerKDE scripting
Mac Dashboard widgetsGoogle Desktop gadgets
Monday, April 11, 2011
DOM
JS
Rhino
JS
Browser JVM
V8
JS
OS
C++Java
Monday, April 11, 2011
Common Ground?
Monday, April 11, 2011
Common Ground?
January 29th, 2009
Monday, April 11, 2011
Common Ground?
January 29th, 2009
ServerJS
Monday, April 11, 2011
Common Ground?
January 29th, 2009
ServerJS
CommonJS
Monday, April 11, 2011
CommonJS
Module system (exports/require)Package system
Module APIs (file, socket, binary, ...)Web server interface - JSGI
PromisesWorkers
Monday, April 11, 2011
Implementations
NarwhalCouchDBPersevereRingoJS
SproutCorenode.jsv8cgi
Flusspferd
Monday, April 11, 2011
Why should I care?
A single programming language for the client and the server
Code reuse and testing
Many developers are already familiar with JavaScript
The browser wars has spawned extremely fast JavaScript interpreters
Monday, April 11, 2011
Further
JavaScript: The Good Parts
http://wiki.commonjs.org/wiki/CommonJS
http://narwhaljs.org/
Monday, April 11, 2011