My talk about the life of JavaScript, from birth to today.
I went trough the demos and code examples very quickly, rather as a teaser to show how modern JavaScript development might look.
If you are interested in a deep dive into the topic of modern JavaScript development, HTML5, ES6, AngularJS, React, Gulp, Grunt etc, please consider my courses: http://www.ivorycode.com/#schulung
12. Most of the people writing in JavaScript are not programmers.
They lack the training and discipline to write good programs.
- Douglas Crockford, 2001
The ecosystem around JavaScript as a serious application
platform continues to evolve.
- ThoughtWorks Technology Radar, January 2014
A very large group of developers still thinks of JavaScript as a
joke.
- Davy Brion, 2011
We strongly suggest to adopt JavaScript as a first class language.
- ThoughtWorks Technology Radar, 2011
Through 2014, improved JavaScript performance will begin to
push HTML5 and the browser as a mainstream enterprise
application development environment.
- Gartner, October 2013
13. Any application that can be written in
JavaScript, will eventually be written
in JavaScript.
- Atwood’s Law, 2007
http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html
14. We are slaves to JavaScript because
people have simply started to accept
its weirdness and flaws, much like a
Stockholm Syndrome phenomenon.
- Chris Richardson, 2013
http://www.youtube.com/watch?v=CN0jTnSROsk&list=WLB09959CADB0E3254
17. JavaScript had a difficult childhood.
It spent a lot of time listening to its parents
fighting with one another about what they wanted
it to be when it grew up. As any young language
would, it tried hard to please its parents. As a
result it suffers from what can only be described
as behavioural quirks.
- Dan North, The Rise and Rise of JavaScript
http://dannorth.net/2011/12/19/the-rise-and-rise-of-javascript/
19. HyperCard for the browser
Scheme Self
Mocha
Make it look like Java!
Completed in 10 days!
Java
JavaScript
h"p://javascriptjabber.com/124-‐jsj-‐the-‐origin-‐of-‐javascript-‐with-‐brendan-‐eich/
Brendan Eich
28. Revealing Module Pattern
var
calcModule
=
(function(){
var
a
=
[1,2,3];
function
calculate(){
return
(a[0]*a[1])+a[2];
}
function
calcAndAdd(){
return
calculate()
+
1;
}
function
calcAndSubtract(){
return
calculate()
-‐
1;
}
return
{
add:
calcAndAdd,
subtract:
calcAndSubtract
}
})();
var
res
=
calcModule.add();IIFE usage
public
API
private
44. JavaScript is the Language of the Web.
Another software technology will come
along and kill off the web. That judgement
day will arrive very soon.
-Forrester Research in 2000
The Web has won!
45. HTML 5
HTML5 explained:
• Html is the structure
• CSS is the colour and style
• JavaScript is everything else
Scott Hanselman:Angle Brackets, Curly Braces http://channel9.msdn.com/Events/Build/2012/3-027
48. h"p://www.thoughtworks.com/radarThoughtWorks
Technology
Radar,
July
2011
GWT
is
a
reasonable
implementaIon
of
a
poor
architectural
choice.
GWT
a"empts
to
hide
many
of
the
details
of
the
web
as
a
plaJorm
by
creaIng
desktop
metaphors
in
Java
and
generaIng
JavaScript
code
to
implement
them.
First,
in
many
ways,
JavaScript
is
more
powerful
and
expressive
than
Java,
so
we
suspect
that
the
generaIon
is
going
in
the
wrong
direcIon.
49. var add = function(first, second) {
return first + second;
};
var splitCall = function(first, func){
return function(second){
return func(first, second);
}
}
var addOne = splitCall(1, add);
addOne(22); // -> 23
50. I now see my early
attempts to support
the classical model
in JavaScript as a
mistake.
The gift of
JavaScript to
humanity is class-
free object-oriented
programming.
https://youtu.be/bo36MrBfTk4?t=33m38s
72. Not every week-end project should
be made public and available through
Bower. The Javascript community
needs to learn to filter itself.
- Manuel Bernhardt, 2014
http://manuel.bernhardt.io/2014/12/30/generation-javascript/
77. • Full-Stack JavaScript
• Isomorphic JavaScript
• Run JavaScript logic on
traditional Java / .NET
backend
• Validation
• Workflow / Scripting
Reuse & Sharing Logic
View
Controller
Client
Server
Business Logic "Code
Repository"
Model
78. JavaScript as a CompilationTarget
GoogleTraceur
by Facebookflowtype.org
Clojure Script
cappuccino-project.orggwtproject.org
https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS
babeljs.io
"The Assembly Language of the Web"