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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Jakob Mattsson
October 01, 2011
Programming
2
1.2k
Beyond JavaScript
Given at JSConfEU 2011
Jakob Mattsson
October 01, 2011
Tweet
Share
More Decks by Jakob Mattsson
See All by Jakob Mattsson
Forgotten Funky Functions
jakobmattsson
1
460
Forgotten Funky Functions
jakobmattsson
0
530
Your HTTP API is not RESTful
jakobmattsson
3
600
Creating JavaScript modules
jakobmattsson
1
420
Automated CSS Testing - jsday Verona
jakobmattsson
1
560
Promise to test it - jsday Verona
jakobmattsson
2
630
Hyper Island - MVP
jakobmattsson
0
220
How to *actually* use promises in JavaScript
jakobmattsson
7
2.7k
Automated CSS Testing - Not Just a Myth (JSConf.Asia)
jakobmattsson
6
650
Other Decks in Programming
See All in Programming
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
420
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
680
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.7k
Claude Code Skill入門
mayahoney
0
170
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
660
How to stabilize UI tests using XCTest
akkeylab
0
110
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
860
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
750
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
710
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
170
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
220
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
290
Accessibility Awareness
sabderemane
0
76
Why Our Code Smells
bkeepers
PRO
340
58k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
A Modern Web Designer's Workflow
chriscoyier
698
190k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
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?