4 ms·
Hi, Scala Team Lead at Lightbend here! We are working hard on getting 2.12 out. Almost ready! While the theme for 2.12 is easily summarized (Java 8), I assure
by adriaanm 10y ago
Hi, Scala Team Lead at Lightbend here! We are working hard on getting 2.12 out. Almost ready!
While the theme for 2.12 is easily summarized (Java 8), I assure you the changes behind the scenes go all the way to the core. Compiling lambdas and traits to the best
Java 8 bytecode we can think of, unifying type checking of Single Abstract Method
types and Scala's built-in function types, as well as rewriting the whole optimizer
and byte code emitter was no small feat! It's been very satisfying to rework these
parts of the compiler, and I'm excited to see 2.12 going live soon!
We're cutting the last milestone (M5) this week, with RC1 scheduled for the
second half of July -- assuming M5 is well received. We're pretty confident,
as we build over 1MLoC of OSS Scala every night using dbuild (see scala/community-builds on github).
We at Lightbend care deeply about language stability and compiler robustness,
as we believe they are key for driving Scala adoption by the community and the enterprise alike.
Being PL researchers, we are also excited about simplifying and evolving Scala!
This is why we're working on a smooth & steady migration path towards the ideas
being incubated in Dotty.
Scala's process is a dialogue, which means coordinating with Martin Odersky
and his teams at EPFL and the Scala Center, as well as the whole Scala Community.
Ultimately, we at Lightbend set the Scala 2.x roadmap based on this consensus (since 2.10),
and take on OSS development and maintenance (as well as commercial support for our customers).
With the founding of the Scala Center, we're happy to share governance, while
remaining as committed to the day-to-day engineering and representation of the
pragmatic robustness and careful evolution voice :-)
This dialogue comes naturally to us, as half of our team are alumni from Martin's lab
(Lukas & I have been working on the Scala compiler for almost 10 years,
ranging from adding support for type constructor polymorphism in Scala 2.5,
rewriting the pattern matcher in 2.10, implementing named & default arguments,
while working on the theoretical foundation of an effect system for Scala
as well as the core of Dotty), while the other half are long-time contributors
to all aspects of Scala.
Sure, releases sometimes slip a bit -- we are a small team
(we're a small company -- our team size is no outlier), and while we get to
spend the vast majority of our time working on OSS, we also have some commercial
obligations inside the company (e.g., Scala support tickets are handled by us).
The other reason is that we have worked on 2.11 for 6 months longer than we
usually spend on a major release, because we wanted our Java 6 users to get
as many of the 2.12 features as possible on their platform (2.12 requires Java 8),
as well as providing a preview of the new ASM-based back-end and optimizer.
The Scala team at Lightbend takes care of half of all PRs, with the other half
being contributed by our awesome community (including EPFL, though they mostly
focus on their research and Dotty, which is how things are supposed to be).
We've worked hard on making it easier to contribute to Scala, and I'm very glad
to see the rate of community contributions trending up!
The Scala and Dotty teams talk regularly (we just had a Dotty & Scala summit before Scala Days),
to exchange tips on compiler performance as well as to work towards convergence
for Scala 2.x and Dotty. For example, the 2.12 trait and lambda encodings were
tried first in Dotty, with our real world adoption of these ideas feeding back
into the Dotty compiler. For 2.13, we're planning feature flags to implement the
first wave of Dotty features and restrictions (and vice versa for Dotty emulating Scala 2),
so that you can start migrating your code bases. For some more background, here
are our roadmap updates: http://www.scala-lang.org/news/2016-schedule/ http://www.scala-lang.org/news/2016-schedule/,
http://www.scala-lang.org/news/roadmap-next/ http://www.scala-lang.org/news/roadmap-next/, http://www.scala-lang.org/news/2.12-roadmap/ http://www.scala-lang.org/news/2.12-roadmap/.
- HypeInference 10y agoWhat happened to "declare JIRA bankruptcy"? Still on the table? https://twitter.com/adriaanm/status/571073842434547712 https://twitter.com/adriaanm/status/571073842434547712
- adriaanm 10y agoI'd love to turn off write-access to JIRA and move to GitHub for new tickets. We'll get there, but first need to finish this release everyone's waiting for :-)