SlideShare a Scribd company logo
There is something about 
JavaScript 
Mail: jonas.bandi@gmail.com 
Twitter: @jbandi
D 
Jonas Bandi 
5 Years ago I had no 
clue about JavaScript 
Today JavaScript pays my bills
My Journey into JavaScript Land
I went through the five 
stages of grief.
Denial
There is something about JavaScript - Choose Forum 2014
Fear
Repulsion
Curiosity
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
Most of the people writing in JavaScript are not programmers. 
They lack the training and discipline to write good programs. 
- Douglas Crockford, 2001 
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 
The ecosystem around JavaScript as a serious application 
platform continues to evolve. 
- ThoughtWorks Technology Radar, January 2014 
Through 2014, improved JavaScript performance will begin to 
push HTML5 and the browser as a mainstream enterprise 
application development environment. 
- Gartner, October 2013
Two Worlds?
Any application that can be written in 
JavaScript, will eventually be written 
in JavaScript. 
- Atwood’s Law, 2007
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
The Language
The Bad Parts
18 Powerful Parts
GWT 
is 
a 
reasonable 
implementaDon 
of 
a 
poor 
architectural 
choice. 
GWT 
a$empts 
to 
hide 
many 
of 
the 
details 
of 
the 
web 
as 
a 
plaForm 
by 
creaDng 
desktop 
metaphors 
in 
Java 
and 
generaDng 
JavaScript 
code 
to 
implement 
them. 
First, 
in 
many 
ways, 
JavaScript 
is 
more 
powerful 
and 
expressive 
than 
Java, 
so 
we 
suspect 
that 
the 
generaDon 
is 
going 
in 
the 
wrong 
direcDon. 
h$p://www.ThoughtWorks 
Technology 
Radar, 
July 
2011 thoughtworks.com/radar
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
JavaScript != Java
History 
• HyperCard 
for 
the 
browser 
Brendan 
Eich 
(ex 
CEO 
of 
Mozilla) 
• Make 
it 
look 
like 
Java! 
• Completed 
in 
10 
days 
h$p://javascriptjabber.com/124-­‐jsj-­‐the-­‐origin-­‐of-­‐javascript-­‐with-­‐brendan-­‐eich/
Language Constructs 
• Object 
• Class 
• Method 
• Constructor 
• Packages 
• Inheritance 
• Object 
• Function 
...everything else can 
be implemented
Closures
Elegant Parts
Ecosystem
Language 
Libraries / Frameworks 
dependency management 
Write Code 
Build Test 
Deploy 
IDE 
Toolset 
compile 
package Test-Frameworks
Language 
Libraries / Frameworks 
dependency management 
Write Code 
Build Test 
Deploy 
IDE 
Bower 
Toolset 
compile 
package Test-Frameworks
Toolset
There is something about JavaScript - Choose Forum 2014
Bower
Building
PROJECT BUILD 
Compile 
Package 
Develop 
(IDE) 
Build jar, war, 
assembly 
Backend 
(Java, .NET) 
Deploy Test 
… into a container 
(Tomcat, JBoss, IIS …) execute 
Linting 
Package 
Frontend 
(JavaScript) 
Develop 
(Editor, IDE) 
Minification, 
Concatenation, Revision 
Deploy Test 
copy to directory execute in browser
Testing
Dependency 
Management
Eco-Mess?
Frontend Libraries & Frameworks
Jake 
JavaScript build 
Tool similar to 
Rake or Make. 
Broccoli 
Bower 
Build Tools
Testing Tools 
Testem A test runner that makes 
Javascript unit testing fun.
ACTIVE ECOSYSTEM 
• 109 000 Node Packages on www.npmjs.org 
(Maven Central has 806'000 artifacts)
There is something about JavaScript - Choose Forum 2014
Big Momentum
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!
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
It's everywhere! 
Nashorn
http://redmonk.com/dberkholz/2014/05/02/github-language-trends-and-the-fragmenting-landscape/
LARGE JAVASCRIPT APPLICATIONS 
? LoC 
? LoC 
? LoC
LARGE JAVASCRIPT APPLICATIONS 
400’000 LoC (2012) 
300’000 LoC (2012) 
200’000 LoC (2013)
Potential Sweet Spots
SPA Architecture 
View 
Model 
Controller 
"object model" 
Services 
Client Server 
clear boundary 
• Rich client 
programming model in 
the browser 
• Clear separation of 
concern between 
client and server
Sharing Logic between 
Client and Server 
• Full-Stack JavaScript 
www.meteor.com 
• Run JavaScript logic on 
traditional Java / .NET 
backend 
• Validation 
•Workflow / Scripting 
View 
Controller 
Client Server 
Business Logic "Code 
Repository" 
Model
Discussions?

More Related Content

PDF
Java & JavaScript: Best Friends?
PDF
Professional JavaScript Development (An Introduction for Java Developers)
PPTX
Javascript
PPTX
Vs java (1)
PDF
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
ODP
ActiveRecord is good enough
PDF
EuroPython 2011 - How to build complex web applications having fun?
PDF
React native first impression
Java & JavaScript: Best Friends?
Professional JavaScript Development (An Introduction for Java Developers)
Javascript
Vs java (1)
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
ActiveRecord is good enough
EuroPython 2011 - How to build complex web applications having fun?
React native first impression

What's hot (20)

PDF
Groovy & Java
PDF
Kotlin & Swift
PPTX
Javaone 2013 moscow gradle english
ZIP
Titanium @ Minnebar
PPTX
Introduction to React Native
PPTX
AWS for the Java Developer
PDF
The New Design Workflow
PPTX
WordPress automation and CI
PPT
PPTX
Creating books app with react native
PDF
Memorial Sloan Kettering: Adventures in Drupal 8
PDF
Node js projects
PDF
Buildr - build like you code
PPTX
Basic Concept of Node.js & NPM
PDF
The JavaScript Delusion
PDF
Quo vadis, JavaScript? Devday.pl keynote
PDF
Drag and Drop UI Development with React Native
PDF
Groovy and noteworthy
PPTX
How we build project for Open Source
PDF
Intro to react native
Groovy & Java
Kotlin & Swift
Javaone 2013 moscow gradle english
Titanium @ Minnebar
Introduction to React Native
AWS for the Java Developer
The New Design Workflow
WordPress automation and CI
Creating books app with react native
Memorial Sloan Kettering: Adventures in Drupal 8
Node js projects
Buildr - build like you code
Basic Concept of Node.js & NPM
The JavaScript Delusion
Quo vadis, JavaScript? Devday.pl keynote
Drag and Drop UI Development with React Native
Groovy and noteworthy
How we build project for Open Source
Intro to react native
Ad

Similar to There is something about JavaScript - Choose Forum 2014 (20)

PDF
The curious Life of JavaScript - Talk at SI-SE 2015
PDF
[DevDay2018] Javascript on the Rise - By Trang Tran, Co-founder & Manager at ...
PDF
Dart By Example 1st Edition Davy Mitchell
PDF
Dart By Example 1st Edition Davy Mitchell
PDF
Dart By Example 1st Edition Davy Mitchell 2024 scribd download
PDF
Pro JavaScript Techniques 2nd Edition John Resig
PDF
React Native? A developer's perspective
PDF
Kann JavaScript elegant sein?
PDF
Let’s learn how to use JavaScript responsibly and stay up-to-date.
PPTX
JavaScript Toolkit
PPTX
Foolangjs
PPSX
Webpack & EcmaScript 6 (Webelement #32)
PDF
Decompiling Android Discover How Android Apps Are Compiled And Built To Secur...
PDF
Apache Flex and the imperfect Web
PDF
Powerful tools for building web solutions
PDF
Play Framework: Intro & High-Level Overview
PDF
Smalltalk for the Web & Beyond (ESUG 2025)
PPT
Web Development Environments: Choose the best or go with the rest
PPT
(In)Security Implication in the JS Universe
PDF
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
The curious Life of JavaScript - Talk at SI-SE 2015
[DevDay2018] Javascript on the Rise - By Trang Tran, Co-founder & Manager at ...
Dart By Example 1st Edition Davy Mitchell
Dart By Example 1st Edition Davy Mitchell
Dart By Example 1st Edition Davy Mitchell 2024 scribd download
Pro JavaScript Techniques 2nd Edition John Resig
React Native? A developer's perspective
Kann JavaScript elegant sein?
Let’s learn how to use JavaScript responsibly and stay up-to-date.
JavaScript Toolkit
Foolangjs
Webpack & EcmaScript 6 (Webelement #32)
Decompiling Android Discover How Android Apps Are Compiled And Built To Secur...
Apache Flex and the imperfect Web
Powerful tools for building web solutions
Play Framework: Intro & High-Level Overview
Smalltalk for the Web & Beyond (ESUG 2025)
Web Development Environments: Choose the best or go with the rest
(In)Security Implication in the JS Universe
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
Ad

More from jbandi (8)

PDF
From User Action to Framework Reaction
PDF
From User Action to Framework Reaction
PDF
Angular 2: What's New?
PPTX
vert.x - asynchronous event-driven web applications on the JVM
PDF
NDC 2011 - Building .NET Applications with BDD
PDF
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
PPTX
Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?
PDF
Testing: Chances and Challenges in an agile World
From User Action to Framework Reaction
From User Action to Framework Reaction
Angular 2: What's New?
vert.x - asynchronous event-driven web applications on the JVM
NDC 2011 - Building .NET Applications with BDD
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?
Testing: Chances and Challenges in an agile World

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Nekopoi APK 2025 free lastest update
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
System and Network Administraation Chapter 3
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
System and Network Administration Chapter 2
PDF
Digital Strategies for Manufacturing Companies
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
How Creative Agencies Leverage Project Management Software.pdf
PTS Company Brochure 2025 (1).pdf.......
Nekopoi APK 2025 free lastest update
Design an Analysis of Algorithms II-SECS-1021-03
Essential Infomation Tech presentation.pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
2025 Textile ERP Trends: SAP, Odoo & Oracle
Odoo Companies in India – Driving Business Transformation.pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
System and Network Administraation Chapter 3
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
System and Network Administration Chapter 2
Digital Strategies for Manufacturing Companies
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Softaken Excel to vCard Converter Software.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
VVF-Customer-Presentation2025-Ver1.9.pptx
wealthsignaloriginal-com-DS-text-... (1).pdf

There is something about JavaScript - Choose Forum 2014

  • 1. There is something about JavaScript Mail: jonas.bandi@gmail.com Twitter: @jbandi
  • 2. D Jonas Bandi 5 Years ago I had no clue about JavaScript Today JavaScript pays my bills
  • 3. My Journey into JavaScript Land
  • 4. I went through the five stages of grief.
  • 12. Most of the people writing in JavaScript are not programmers. They lack the training and discipline to write good programs. - Douglas Crockford, 2001 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 The ecosystem around JavaScript as a serious application platform continues to evolve. - ThoughtWorks Technology Radar, January 2014 Through 2014, improved JavaScript performance will begin to push HTML5 and the browser as a mainstream enterprise application development environment. - Gartner, October 2013
  • 14. Any application that can be written in JavaScript, will eventually be written in JavaScript. - Atwood’s Law, 2007
  • 15. 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
  • 19. GWT is a reasonable implementaDon of a poor architectural choice. GWT a$empts to hide many of the details of the web as a plaForm by creaDng desktop metaphors in Java and generaDng JavaScript code to implement them. First, in many ways, JavaScript is more powerful and expressive than Java, so we suspect that the generaDon is going in the wrong direcDon. h$p://www.ThoughtWorks Technology Radar, July 2011 thoughtworks.com/radar
  • 20. 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
  • 22. History • HyperCard for the browser Brendan Eich (ex CEO of Mozilla) • Make it look like Java! • Completed in 10 days h$p://javascriptjabber.com/124-­‐jsj-­‐the-­‐origin-­‐of-­‐javascript-­‐with-­‐brendan-­‐eich/
  • 23. Language Constructs • Object • Class • Method • Constructor • Packages • Inheritance • Object • Function ...everything else can be implemented
  • 27. Language Libraries / Frameworks dependency management Write Code Build Test Deploy IDE Toolset compile package Test-Frameworks
  • 28. Language Libraries / Frameworks dependency management Write Code Build Test Deploy IDE Bower Toolset compile package Test-Frameworks
  • 31. Bower
  • 33. PROJECT BUILD Compile Package Develop (IDE) Build jar, war, assembly Backend (Java, .NET) Deploy Test … into a container (Tomcat, JBoss, IIS …) execute Linting Package Frontend (JavaScript) Develop (Editor, IDE) Minification, Concatenation, Revision Deploy Test copy to directory execute in browser
  • 37. Frontend Libraries & Frameworks
  • 38. Jake JavaScript build Tool similar to Rake or Make. Broccoli Bower Build Tools
  • 39. Testing Tools Testem A test runner that makes Javascript unit testing fun.
  • 40. ACTIVE ECOSYSTEM • 109 000 Node Packages on www.npmjs.org (Maven Central has 806'000 artifacts)
  • 43. 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!
  • 44. 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
  • 47. LARGE JAVASCRIPT APPLICATIONS ? LoC ? LoC ? LoC
  • 48. LARGE JAVASCRIPT APPLICATIONS 400’000 LoC (2012) 300’000 LoC (2012) 200’000 LoC (2013)
  • 50. SPA Architecture View Model Controller "object model" Services Client Server clear boundary • Rich client programming model in the browser • Clear separation of concern between client and server
  • 51. Sharing Logic between Client and Server • Full-Stack JavaScript www.meteor.com • Run JavaScript logic on traditional Java / .NET backend • Validation •Workflow / Scripting View Controller Client Server Business Logic "Code Repository" Model