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
370
Forgotten Funky Functions
jakobmattsson
0
460
Your HTTP API is not RESTful
jakobmattsson
3
560
Creating JavaScript modules
jakobmattsson
1
370
Automated CSS Testing - jsday Verona
jakobmattsson
1
470
Promise to test it - jsday Verona
jakobmattsson
2
550
Hyper Island - MVP
jakobmattsson
0
150
How to *actually* use promises in JavaScript
jakobmattsson
7
2.5k
Automated CSS Testing - Not Just a Myth (JSConf.Asia)
jakobmattsson
6
590
Other Decks in Programming
See All in Programming
ONE WEDGE_company_guide
1wedge_one
0
480
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
Elm 0.19.0 Changes
bkuhlmann
0
490
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
530
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
180
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
930
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
210
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
0
240
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
260
VS Code をプロダクトにどう取り込むか
onomax
1
360
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
Designing Experiences People Love
moore
136
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Documentation Writing (for coders)
carmenintech
60
3.9k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Typedesign – Prime Four
hannesfritz
36
2.1k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
2
1.3k
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?