Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How Scala is made
Search
Grzegorz Kossakowski
March 18, 2015
Programming
980
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How Scala is made
Scala Days SF 2015 presentation on how we think of Scala as a product.
Grzegorz Kossakowski
March 18, 2015
Other Decks in Programming
See All in Programming
APNsからLive Activityを開始する話
yumnumm
0
170
contenteditable と日本語入力に向き合う
colorful12
0
200
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
JIS keyboard support in Omarchy
lef237
0
110
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
410
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
300
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
590
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Facilitating Awesome Meetings
lara
57
7.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
A Soul's Torment
seathinner
8
3.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Leo the Paperboy
mayatellez
10
2.4k
Skip the Path - Find Your Career Trail
mkilby
1
260
For a Future-Friendly Web
brad_frost
184
10k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Transcript
How Scala is made Grzegorz Kossakowski Typesafe @gkossakowski
Plan • why do we make Scala • how do
we go about new features • what practices and tools • who is making Scala
Impact
Popularity Novelty Small impact
Popularity Novelty Medium impact
Popularity Novelty Large impact
Popularity Novelty Stability Large impact
Stability understand loss aversion
Features & stability
Dumb down?
Making a feature • 12 months are needed to develop
a new feature • feedback from existing projects is essential • good design is best achieved after couple of failed iterations
Releasing a feature Segment your audience. Make a feature an
opt-in.
Feature flags Feature Flag Bytecode emitter -Ybackend Lambda translation -Ydelambdafy
Functional interfaces -Xexperimental New optimizer -Yopt Lambda bytecode -target Classpath handling -YclasspathImpl
Tools are top priority http://algeri-wong.com/yishan/engineering-management- tools-are-top-priority.html
Scala ♥ GitHub
Shorten the feedback loop
Make change validation impersonal
Pull request validation
Dbuild: testing at large scale 1.5 million lines of Scala
compiled every night 80+ community projects covered
Community build https://github.com/scala/community-builds
Bugs caught • Tricky (new) optimizer bugs that led to
incorrect behaviour at runtime (#4312) • Edge cases in translation to Java 8-style lambdas • Tuple optimization in pattern matcher (#4376)
Reactive infrastructure
Reactive infrastructure
Resilient infrastructure Recovers cheaply & happily.
Resilient infrastructure • Infrastructure as Code (IaC) • Fully automated
• Easy to manage • Easy to track changes
Crowd behind Scala
Crowd behind Scala 49% 43% 8% Community EPFL Typesafe Commits
to 2.10
Crowd behind Scala 55% 23% 22% Community EPFL Typesafe Commits
to 2.11 Almost 3x! More time for research
Crowd behind Scala 5 4 33 Community EPFL Typesafe 2.10
team size Almost 3x! More time for research Members submit 90% of all commits
Crowd behind Scala 5 4 47 Community EPFL Typesafe 2.11
team size +42% Members submit 90% of all commits
Crowd behind Scala commits 2.10 commits 2.11 team (90%) 2.10
team (90%) 2.11 everyone 2.10 everyone 2.11 community 8% 22% 33 47 69 104 epfl 43% 23% 4 4 19 13 typesafe 49% 54% 5 5 22 22 all 4495 2582 42 56 110 139
Recap • Making Scala is about impact • Stability &
novelty • Tools are top priority • We’re proud that Scala is becoming increasingly open
Thank you! \_(ツ)_/¯ @gkossakowski