Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How Scala is made

How Scala is made

Scala Days SF 2015 presentation on how we think of Scala as a product.

Grzegorz Kossakowski

March 18, 2015
Tweet

Other Decks in Programming

Transcript

  1. Plan • why do we make Scala • how do

    we go about new features • what practices and tools • who is making Scala
  2. 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
  3. Feature flags Feature Flag Bytecode emitter -Ybackend Lambda translation -Ydelambdafy

    Functional interfaces -Xexperimental New optimizer -Yopt Lambda bytecode -target Classpath handling -YclasspathImpl
  4. Dbuild: testing at large scale 1.5 million lines of Scala

    compiled every night 80+ community projects covered
  5. 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)
  6. Crowd behind Scala 55% 23% 22% Community EPFL Typesafe Commits

    to 2.11 Almost 3x! More time for research
  7. 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
  8. Crowd behind Scala 5 4 47 Community EPFL Typesafe 2.11

    team size +42% Members submit 90% of all commits
  9. 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
  10. Recap • Making Scala is about impact • Stability &

    novelty • Tools are top priority • We’re proud that Scala is becoming increasingly open