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
Beyond JavaScript
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jakob Mattsson
October 01, 2011
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Beyond JavaScript
Given at JSConfEU 2011
Jakob Mattsson
October 01, 2011
More Decks by Jakob Mattsson
See All by Jakob Mattsson
Forgotten Funky Functions
jakobmattsson
1
490
Forgotten Funky Functions
jakobmattsson
0
560
Your HTTP API is not RESTful
jakobmattsson
3
620
Creating JavaScript modules
jakobmattsson
1
450
Automated CSS Testing - jsday Verona
jakobmattsson
1
580
Promise to test it - jsday Verona
jakobmattsson
2
660
Hyper Island - MVP
jakobmattsson
0
250
How to *actually* use promises in JavaScript
jakobmattsson
7
2.7k
Automated CSS Testing - Not Just a Myth (JSConf.Asia)
jakobmattsson
6
680
Other Decks in Programming
See All in Programming
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.9k
React本体のコードリーディング
high_g_engineer
1
140
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
580
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
AIが無かった頃の素敵な出会いの話
codmoninc
1
390
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
370
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
190
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
490
数百円から始めるRuby電子工作
tarosay
0
140
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Writing Fast Ruby
sferik
630
63k
Building AI with AI
inesmontani
PRO
1
1.1k
The Invisible Side of Design
smashingmag
301
52k
How to make the Groovebox
asonas
2
2.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
Transcript
Beyond JavaScript @jakobmattsson jakobmattsson.se
Everything is fucking dynamic
JavaScript is not JS
Static checking was good - Casting was evil
New perspectives
Combine the best of two worlds!
It failed
Open up a new set of possibilities
The dynamic languages disappoints
list.select { |x| x > 0 } filter (> 0)
list list.filter(function(x) { return x > 0 })
&& ||
EVERYTHING IS AN OBJECT!!!
What can Blub do?
What can Blub do?
What can Blub do? What can’t Blub do?
It’s not about a particular solution
It’s about doing as little as possible
A dynamic language should be moldable
The best part
But this conference is about JavaScript!
None
1. Full of stupid shit
1. Full of stupid shit 2. Platform for everything
1. Full of stupid shit 2. Platform for everything 3.
Has amazing ideas
Call by name
&& = lazyfunction(a, b) { if (execute(a)) { if (execute(b))
{ return true; } } return false; }; Call by name
Operators on steroids
v = a + b unless x > y Operators
on steroids
v = a + b unless x > y =>
(x > y).unless(v = a + b) Operators on steroids
Syntax unification
list.filter(> 0) Syntax unification
msg = { name: ’<’, arguments: [ { value: 0
} ] }; Syntax unification
filter = lazyfunction(msg) { var r = []; this.forEach(function(e) {
if (e.send(msg)) { r.push(e); } }); return r; } Syntax unification
We are not there yet
Safety? Performance?
What can Blub do? @jakobmattsson jakobmattsson.se What can’t Blub do?