SlideShare a Scribd company logo
1 of 50
Download to read offline
THE PROBLEM WITH
JAVASCRIPT
Armagan Amcalar
PHPKonf
Istanbul, May 4, 2019
ARMAĞAN AMCALAR
Senior Manager @ Wayfair
Building and leading teams for almost 10 years
Passionate about open source
Lonca, a software craftsmanship school for women
International speaker
dashersw dashersw
IF YOU THINK SOMETHING IS WRONG
WITH JAVASCRIPT, OR ITS USERS, YOU
ARE NOT ALONE.
…and you are not wrong
dashersw
WHAT YOU’LL GET FROM THIS TALK
JUST A LITTLE HISTORY
…FOR CONTEXT
<html>
<head> <title> Add New Customer </title> </head>
<body background="blue_marble.gif">
<img src="billlog2.gif">
<server>
if ( project.lock() ) {
project.lastID = 1 + project.lastID;
client.customerID = project.lastID;
project.unlock();
}
</server>
<h1>Add a New Customer</h1>
<p>Note: <b>All</b> fields are required for the new customer</p>
<p>ID:</p>
<server>
write("<STRONG><FONT COLOR="#00FF00">" +project.lastID + "</FONT></STRONG>");
</server>
</body>
</html>
DHTML
FIRST GENERATION OF JAVASCRIPT
DEVELOPERS
dashersw
BROWSER WARS
OH THOSE INNOCENT DAYS…
dashersw
2005-2006 — JQUERY AND
OTHERS
SECOND GENERATION OF JAVASCRIPT
DEVELOPERS
dashersw
2008 — GOOGLE CAME
ONBOARD.
AND CHANGED EVERYTHING.
dashersw
dashersw
REMEMBER, WITH GOOGLE,
YOU ARE THE PRODUCT.
dashersw
GOOGLE HELPED
STANDARDIZE THE WEB.
CHROME IS TO IE & FIREFOX
WHAT APPLE IS TO NOKIA &
MOTOROLA.
dashersw
CAN YOU IMAGINE A WORLD
WITHOUT STACKOVERFLOW
AND GITHUB?
THEY CAME OUT IN 2008.
WHAT IS OPEN SOURCE?
dashersw
2010 — BACKBONE &
ANGULAR, MVC FRAMEWORKS
THIRD GENERATION OF JAVASCRIPT
DEVELOPERS
dashersw
NO ONE UNDERSTOOD
WHAT MVC IS.
IT WAS A BROKEN COPY OF BACKEND MVC
FRAMEWORKS, WHICH ARE ALREADY BROKEN.
dashersw
WELCOME CORPORATIONS
GOOGLE, MICROSOFT AND FACEBOOK
DISCOVER OPEN-SOURCE
dashersw
WHAT IS TRULY OPEN
SOURCE?
dashersw
VIRTUAL DOM
HINT: IT’S A BAD IDEA.
dashersw
COMPONENT DESIGN
HINT: IT’S NOT ENOUGH.
dashersw
ENTER SVELTE
THE MAGICAL DISAPPEARING FRAMEWORK
dashersw
WHEN WILL THIS HYPE
END?
BABEL WEBPACK COFFEESCRIPT GULP
GRUNT SASS TYPESCRIPT EMBER FLOW
REDUX ROLLUP SERVER-SIDE RENDERING
dashersw
WHAT IS THE PROBLEM?
dashersw
WHAT IS THE PROBLEM?
dashersw
THIS IS GENERATIONAL
HELLO GEN Y PEOPLE!
dashersw
PROBLEMS WITH ATTENTION,
DEDICATION, EFFORT AND
OWNERSHIP
dashersw
TECHNOLOGICAL CHOICES
ARE DRIVEN BY LUST.
dashersw
THE CURSE OF JAVASCRIPT
dashersw
BARRIER TO ENTRY IS LOW
YOU CAN DO ANYTHING IN JAVASCRIPT
IT RUNS EVERYWHERE
dashersw
BY NOW, JAVASCRIPT IS A META-
LANGUAGE
dashersw
SWEET.JS
HONORABLE MENTION
dashersw
BUT INSTEAD OF GOING
FORWARD, WE ARE GOING IN
LOOPS!
dashersw
SERVER-SIDE RENDERING
dashersw
WE DID THAT, IT DIDN’T WORK,
WE INVENTED SINGLE-PAGE
APPLICATIONS BECAUSE IT
DIDN’T WORK.
dashersw
WHAT IS THE UNDERLYING
PROBLEM?
dashersw
GENERATIONS CHANGE.
WE DON’T STUDY THE PAST.
YET WE KNOW BETTER.
dashersw
WHAT IS THE SOLUTION?
dashersw
FOLLOW SCIENTIFIC
METHODOLOGY.
dashersw
DON’T BELIEVE, EXPERIMENT. WORK
WITH FALSIFIABLE TRUTHS.
dashersw
RISE ON THE SHOULDERS OF
GIANTS.
dashersw
HOW TO CHOOSE A
TECHNOLOGY
dashersw
SIGNAL-TO-NOISE RATIO
AMOUNT OF BOILERPLATE
INTUITIVENESS
CAN YOU UNDERSTAND ITS CODE?
CAN YOU DEBUG IT?
CAN YOU FORK AND CUSTOMIZE IT?
dashersw
React Vue Svelte
NUMBER OF QUESTIONS & ANSWERS ON
STACKOVERFLOW IS NOT A GOOD METRIC.
NUMBER OF ISSUES ON GITHUB IS NOT A
GOOD METRIC.
dashersw
YOU DON’T WANT A TECHNOLOGY
THAT REQUIRES CONSTANT
GOOGLING FOR THE MOST TRIVIAL
THINGS.
dashersw
WHY ARE YOU PROGRAMMING?
dashersw
TO CREATE VALUE.
AND THE ONLY METRIC YOU SHOULD
CARE ABOUT IS PRODUCTIVITY.
dashersw
BEING UNCOOL IS COOL.
dashersw
CLOSING THOUGHTS
dashersw
THANK YOU!
LET’S KEEP IN TOUCH!
ARMAĞAN AMCALAR
armagan@amcalar.com
dashersw
dashersw

More Related Content

What's hot

I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014
Quentin Adam
 
WooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP SnippetsWooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP Snippets
Rodolfo Melogli
 

What's hot (7)

I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014I want to be an efficient developper - APIdays Berlin 2014
I want to be an efficient developper - APIdays Berlin 2014
 
WooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP SnippetsWooCommerce: How to Customize WordPress via PHP Snippets
WooCommerce: How to Customize WordPress via PHP Snippets
 
Making WooCommerce Your Own
Making WooCommerce Your OwnMaking WooCommerce Your Own
Making WooCommerce Your Own
 
Streams on top of Scala - scalar 2015 Warsaw
Streams on top of Scala - scalar 2015 WarsawStreams on top of Scala - scalar 2015 Warsaw
Streams on top of Scala - scalar 2015 Warsaw
 
Symfony Admin Generator
Symfony Admin GeneratorSymfony Admin Generator
Symfony Admin Generator
 
Mark Wall - F5 Agility 2017 - F5 Automation The Journey - PDF
Mark Wall - F5 Agility 2017 - F5 Automation The Journey - PDFMark Wall - F5 Agility 2017 - F5 Automation The Journey - PDF
Mark Wall - F5 Agility 2017 - F5 Automation The Journey - PDF
 
Master WooCommerce Troubleshooting
Master WooCommerce TroubleshootingMaster WooCommerce Troubleshooting
Master WooCommerce Troubleshooting
 

Similar to The problem with JavaScript

Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
Christian Heilmann
 

Similar to The problem with JavaScript (20)

What is a good technology stack today?
What is a good technology stack today?What is a good technology stack today?
What is a good technology stack today?
 
A Developer Day 2014 - Durban
A Developer Day 2014 - Durban A Developer Day 2014 - Durban
A Developer Day 2014 - Durban
 
Java magazine january february 2017
Java magazine january february 2017Java magazine january february 2017
Java magazine january february 2017
 
Ca curious coder_crash_course
Ca curious coder_crash_courseCa curious coder_crash_course
Ca curious coder_crash_course
 
10 Things Designers Do That Piss Developers Off (And Vice Versa)
10 Things Designers Do That Piss Developers Off (And Vice Versa)10 Things Designers Do That Piss Developers Off (And Vice Versa)
10 Things Designers Do That Piss Developers Off (And Vice Versa)
 
Improving velocity through abstraction
Improving velocity through abstractionImproving velocity through abstraction
Improving velocity through abstraction
 
The Next Five Years of Rails
The Next Five Years of RailsThe Next Five Years of Rails
The Next Five Years of Rails
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
DevOps For Small Teams
DevOps For Small TeamsDevOps For Small Teams
DevOps For Small Teams
 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantage
 
JavaScript isn't evil.
JavaScript isn't evil.JavaScript isn't evil.
JavaScript isn't evil.
 
JavaScript No longer A “toy” Language
JavaScript No longer A “toy” LanguageJavaScript No longer A “toy” Language
JavaScript No longer A “toy” Language
 
Ember At Scale
Ember At ScaleEmber At Scale
Ember At Scale
 
Java Magazine Enterprise September /October2016
Java Magazine Enterprise September /October2016Java Magazine Enterprise September /October2016
Java Magazine Enterprise September /October2016
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Technology tips to ceo & architect
Technology tips to ceo & architectTechnology tips to ceo & architect
Technology tips to ceo & architect
 
corporateJavascript
corporateJavascriptcorporateJavascript
corporateJavascript
 
Django vs Laravel - Which is Better ? for
Django vs Laravel - Which is Better ? forDjango vs Laravel - Which is Better ? for
Django vs Laravel - Which is Better ? for
 
Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)Style Guides Are The New Photoshop (Smashing Conference 2012)
Style Guides Are The New Photoshop (Smashing Conference 2012)
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 

The problem with JavaScript