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
CoffeeScript
Search
Jeroen Rosenberg
November 30, 2012
Programming
360
2
Share
CoffeeScript
How about a nice BIG cup of CoffeeScript
Jeroen Rosenberg
November 30, 2012
More Decks by Jeroen Rosenberg
See All by Jeroen Rosenberg
Cooking your Ravioli "al dente" with Hexagonal Architecture
jeroenr
0
56
Apache Solr: Lessons Learned
jeroenr
2
110
Websocket on Rails
jeroenr
4
600
Stop thinking, go faster
jeroenr
2
220
Git
jeroenr
3
470
Provisioning with Vagrant & Puppet
jeroenr
5
830
Monit
jeroenr
2
230
Other Decks in Programming
See All in Programming
要はバランスからの卒業 #yumemi_grow
kajitack
0
190
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
4
510
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
130
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
160
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
9
850
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
110
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
120
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
320
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
190
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
240
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.1k
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
420
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
290
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
570
How STYLIGHT went responsive
nonsquared
100
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
200
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Ruling the World: When Life Gets Gamed
codingconduct
0
230
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
550
Transcript
None
None
"It's just JavaScript" coated with syntax sugar
CoffeeScript attempts to expose those 'good parts' Did you notice?
#nuffsaid it's quite thin
But its core is gooooood
CoffeeScript attempts to expose those 'good parts' CoffeeScript exposes those
'good parts'
CoffeeScript attempts to expose those 'good parts'
Ruby Python Haskell
# prototyping String::downCase = -> @toLowerCase() # functions, chained comparison
isMyAge = (age) -> 24 < age < 26 # splat arguments, pattern matching unCapitalize = (words...) -> (words.map ([firstChar, rest...]) -> firstChar.downCase() + rest.join '').join '' # destructuring assignment, function binding Me = ([surname, middlenames..., lastname] ) -> # string interpolation @name = "#{surname} #{lastname}" # everything is an expression @age = if isMyAge(x = 25) then x else '?' @twitter = unCapitalize('@', surname, lastname) # use jQuery (or any JavaScript library), multi line Strings $('#welcome').bind 'click' (event) => alert "Hello, I'm #{@name}!" # there's no var!! me = Me("Jeroen Matthijs Rosenberg".split ' ')
#nuffsaid
word.spread! for people in continents[..] when people isnt aware