Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Let's Use More JavaScript, OK?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Jason Rhodes
June 10, 2014
Programming
220
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Let's Use More JavaScript, OK?
Presentation given at Penn State Web Conference in June 2014.
Jason Rhodes
June 10, 2014
More Decks by Jason Rhodes
See All by Jason Rhodes
What's New with React, 2018 Edition
rhodesjason
0
94
Snapshot Everything
rhodesjason
0
97
Make Something Dumb
rhodesjason
0
85
Node Workshop: NorfolkJS Edition
rhodesjason
0
130
Nuclear Pizza Machine
rhodesjason
0
190
How to Succeed With JavaScript (Without Really Trying)
rhodesjason
0
160
NodeSchool is OSCCL
rhodesjason
0
230
NodeSchool Intro: Sept 27, 2014
rhodesjason
1
110
Started from the Bottom
rhodesjason
0
150
Other Decks in Programming
See All in Programming
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
330
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
120
Railsバージョンを4倍にした話
optim
0
900
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
270
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.3k
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
130
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
130
Groovy as a human and AI friendly programming language
paulk
0
160
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
500
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.2k
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
190
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Rails Girls Zürich Keynote
gr2m
96
14k
Practical Orchestrator
shlominoach
192
12k
sira's awesome portfolio website redesign presentation
elsirapls
0
480
Test your architecture with Archunit
thirion
2
2.5k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
340
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Code Reviewing Like a Champion
maltzj
529
40k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
470
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
550
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
Let’s Use More JavaScript, OK?
describe javascript in a few words? how would you
None
Wat @garybernhardt https://www.destroyallsoftware.com/talks/wat
1 + 3 ! => 4
"hel" + "lo" ! => "hello"
[] + [] ! => ""
{} + {} ! => 0
None
typeof 5 ! => Number
typeof "hello" ! => String
typeof [1,2,3] ! => Object
typeof [1,2,3] ! => Object
typeof null ! => Object
typeof null ! => Object
None
typeof NaN ! => Number
typeof NaN ! => Number
None
None
! Got a question? ASK TWITTERS!
None
None
JavaScript, the worst invention ever. –Bert Bos computer scientist former
W3C chairman CSS Working Group
None
None
The most brittle part of the stack is JavaScript. –Jeremy
Keith web evangelist
None
None
None
None
{{ JavaScript 18 other languages
=
===
Why?
READY, SET, HISTORY
ASSEMBLY
None
None
FORTRAN Formula Translating System
None
FORTRAN code example
COBOL Common Business Oriented Language
COBOL “Hello World”
The use of COBOL cripples the mind; its teaching should,
therefore, be regarded as a criminal offense. “ –Edsger Dijkstra, 1975
ALGOL Algorithmic Language
ALGOL example code
LISP List Processing
LISP: the most intelligent way to misuse a computer. “
C
None
A C program is like a fast dance on a
newly waxed dance floor by people carrying razors. “ –Waldi Ravens
FORTRAN COBOL BASIC ALGOL C LISP Simula Smalltalk C++, PHP,
Objective-C, Java Ruby Scheme Self
LIKEABILITY ADOPTION AVAILABILITY EASE OF USE Likeability doesn’t matter. 1.
LIKEABILITY ADOPTION AVAILABILITY EASE OF USE Likeability doesn’t matter. 1.
People hate JavaScript. (They should get over it.)
! 25 Scheme 27 Lisp 36 Smalltalk ! ?? ALGOL
! ☔️ 1 C 2 Java 3 PHP 5 C++
25 Scheme 27 Lisp 36 Smalltalk ! ?? ALGOL
JavaScript is everywhere. 2. Likeability doesn’t matter. 1.
JavaScript is 2. Likeability doesn’t matter. 1. JavaScript is awesome.
3.
FUNCTIONS!!!
FUNCTIONS!!!
FUNCTIONS!!!
FUNCTIONS!!!
FUNCTIONS!!!
FUNCTIONS!!!
FUNCTIONS!!!
Prototype Inheritance
None
None
None
1 episode: 10 months 1 batch: 30 days Entire programming
language: 10 days
LiveScript
LiveScript
LiveScript Java
JavaScript JScript
European Computer Manufacturers Association (ECMA)
JavaScript JScript ECMAScript
ES1 (June 1997) ES2 (June 1998) ES3 (December 1999)
DOM AND THE DARK YEARS OF THE DOM CSS 1
XML RDF HTML 4.0
Jesse James Garrett 2005
None
NOT BAD
None
None
The first time you run $(’.foo’).fadeOut(), you feel like a
god damn wizard. “ –Oscar Godson, jQuery Made Me Become A Programmer
None
None
None
None
ES5
ES5 Shim github.com/es-shims/es5-shim
small reusable libraries
… 451!
None
None
None
None
None
youtube.com/watch?v=ztspvPYybIY
None
None
http://addyosmani.com/writing-modular-js/
None
myproject/ main.js
myproject/ main.js sayHello.js
None
None
FILE SCOPE sayHello.js
FILE SCOPE sayHello.js
main.js
None
None
browserify main.js -o bundle.js $
myproject/ main.js sayHello.js bundle.js
None
None
None
None
None
None
Likeability doesn’t matter. 1.
Likeability doesn’t matter. 1.
JavaScript is everywhere. 2. Likeability doesn’t matter. 1.
None
None
JavaScript is 2. Likeability doesn’t matter. 1. JavaScript is awesome.
3.
None
None
None
None
None
Rate this talk! bit.ly/psuprogramming THANKS. Follow me/AMA twitter.com/rhodesjason