Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Let's Use More JavaScript, OK?
Search
Jason Rhodes
June 10, 2014
Programming
1
190
Let's Use More JavaScript, OK?
Presentation given at Penn State Web Conference in June 2014.
Jason Rhodes
June 10, 2014
Tweet
Share
More Decks by Jason Rhodes
See All by Jason Rhodes
What's New with React, 2018 Edition
rhodesjason
0
67
Snapshot Everything
rhodesjason
0
65
Make Something Dumb
rhodesjason
0
68
Node Workshop: NorfolkJS Edition
rhodesjason
0
100
Nuclear Pizza Machine
rhodesjason
0
150
How to Succeed With JavaScript (Without Really Trying)
rhodesjason
0
130
NodeSchool is OSCCL
rhodesjason
0
180
NodeSchool Intro: Sept 27, 2014
rhodesjason
1
84
Started from the Bottom
rhodesjason
0
120
Other Decks in Programming
See All in Programming
Reactive Thinking with Signals, Resource API, and httpResource @Devm.io Angular 20 Launch Party
manfredsteyer
PRO
0
130
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
480
External SecretsのさくらProvider初期実装を担当しています
logica0419
0
240
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
110
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
570
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
250
マテリアルって何者?RealityKitで扱うマテリアル入門
nao_randd
0
140
Agent Rules as Domain Parser
yodakeisuke
1
350
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
130
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
810
TSConfigからTypeScriptの世界を覗く
planck16
2
1.3k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
183
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Facilitating Awesome Meetings
lara
54
6.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
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