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
How Scala is made
Search
Grzegorz Kossakowski
March 18, 2015
Programming
3
970
How Scala is made
Scala Days SF 2015 presentation on how we think of Scala as a product.
Grzegorz Kossakowski
March 18, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
250
Java on Azure で LangGraph!
kohei3110
0
170
Create a website using Spatial Web
akkeylab
0
310
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
640
PipeCDのプラグイン化で目指すところ
warashi
1
230
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
350
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
150
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
460
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
710
Featured
See All Featured
Side Projects
sachag
455
42k
The Invisible Side of Design
smashingmag
300
51k
How GitHub (no longer) Works
holman
314
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Site-Speed That Sticks
csswizardry
10
670
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Being A Developer After 40
akosma
90
590k
The Cult of Friendly URLs
andyhume
79
6.5k
Designing for humans not robots
tammielis
253
25k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
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