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
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
420
Forgotten Funky Functions
jakobmattsson
0
510
Your HTTP API is not RESTful
jakobmattsson
3
580
Creating JavaScript modules
jakobmattsson
1
400
Automated CSS Testing - jsday Verona
jakobmattsson
1
520
Promise to test it - jsday Verona
jakobmattsson
2
610
Hyper Island - MVP
jakobmattsson
0
190
How to *actually* use promises in JavaScript
jakobmattsson
7
2.6k
Automated CSS Testing - Not Just a Myth (JSConf.Asia)
jakobmattsson
6
610
Other Decks in Programming
See All in Programming
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
240
コンテキストエンジニアリング Cursor編
kinopeee
1
710
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
200
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.8k
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
280
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
15
8.4k
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
210
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.5k
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
130
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
670
A Gopher's Guide to Vibe Coding
danicat
0
180
Introduction to Git & GitHub
latte72
0
120
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
We Have a Design System, Now What?
morganepeng
53
7.7k
How STYLIGHT went responsive
nonsquared
100
5.7k
Faster Mobile Websites
deanohume
309
31k
Building an army of robots
kneath
306
46k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Navigating Team Friction
lara
189
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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?