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
380
Forgotten Funky Functions
jakobmattsson
0
460
Your HTTP API is not RESTful
jakobmattsson
3
570
Creating JavaScript modules
jakobmattsson
1
380
Automated CSS Testing - jsday Verona
jakobmattsson
1
480
Promise to test it - jsday Verona
jakobmattsson
2
560
Hyper Island - MVP
jakobmattsson
0
170
How to *actually* use promises in JavaScript
jakobmattsson
7
2.6k
Automated CSS Testing - Not Just a Myth (JSConf.Asia)
jakobmattsson
6
590
Other Decks in Programming
See All in Programming
CSC509 Lecture 09
javiergs
PRO
0
140
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
みんなでプロポーザルを書いてみた
yuriko1211
0
260
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
330
RubyLSPのマルチバイト文字対応
notfounds
0
120
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
受け取る人から提供する人になるということ
little_rubyist
0
230
CSC509 Lecture 12
javiergs
PRO
0
160
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Facilitating Awesome Meetings
lara
50
6.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Writing Fast Ruby
sferik
627
61k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
Testing 201, or: Great Expectations
jmmastey
38
7.1k
How to Ace a Technical Interview
jacobian
276
23k
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?