About the conference
This is a unique event devoted to important topic for every Scala Software Developer - Dev Tools.
Our aim is to show how they can facilitate effective development of Scala-based systems, how they are written, and to discuss what could still be improved.
Agenda – overview
Day 1 - Sunday
9:00 to 17:00ScalaSpree, Workshops, Training
Day 2 - Monday
8:00 to 9:00Registration
9:00 to 10:45Keynote sessions
11:00 to 18:15Talks
18:30 to **After Party
Day 3 - Tuesday
9:00 to 9:40Keynote
9:55 to 17:15Talks
17:30 to 18:30Discussion Panel
ScalaSpree, Workshops, Training
Rory has spent much of his career fixing other peoples code. He is passionate about creating better and spends his life fighting to find the balance between cleanness, maintainability and performance. He enjoys contributing to open source and has a weird weird habit of drive-by optimisation. Right now he is focused on compiler performance, involved in both ScalaC and RSC. Outside of coding he gives tours of a windmill, is a Toastmaster and teaches his son about robots.
He is a longstanding contributor to the Scala community, having launched the first commercial applications written in Scala over ten years ago. He is best known for his work on Rapture, and his contributions to Typelevel Scala.
For as long as Scala has existed, its tooling support has always lagged behind the development experience enjoyed by developers in languages like Java, despite the valiant efforts of many of Scala’s great contributors over the years. In recent months, though, plans have been afoot for the Scala Center to take a leading role in supporting and encouraging work on Scala’s tooling, in particular the Language Server Protocol and related Scala-specific protocols.
So what went wrong for Scala’s first fifteen years? What is being done to turn that around? And what can we hope for in the future? Jon will give a brief history of tooling in Scala, an explanation of the work that is currently being done to improve it, and a glimpse of the excitement the future may hold, in which a rich ecosystem of tools can bloom!
Language tools lead at Twitter, member of the Scala language committee, founder of Reasonable Scala, Scala Meta and Scala Macros
Reasonable Scala compiler
Reasonable Scala compiler is an experimental Scala compiler focused on compilation speed. Our research goal is to achieve 5-10x compilation speedups for typical Scala codebases.
Rsc is not a fork, but a reimplementation of the Scala compiler. We believe that a performance-oriented rewrite will provide a unique perspective on compilation costs introduced by various Scala features and idioms – something that is currently very hard to quantify in existing compilers.
In this talk, we will demonstrate our progress with Rsc and present the roadmap of future developments.
Sébastien Doeraene is a compiler/runtime systems hacker and a Scala enthusiast. He is a PhD student at EPFL in the programming methods laboratory (LAMP, also known as the Scala team) led by Martin Odersky, where he designs and develops Scala.js. He holds bachelor and master degrees in computer science engineering from Université catholique de Louvain in Belgium. When he is not busy coding, he sings in choirs and a cappella groups such as the Ensemble Vocal Évohé, or rides around on a unicycle.
Designing libraries for source and binary compatibility
We have all experienced at least once the dismay of trying to use two libraries, only to discover that they are not binary compatible with each other. The good news is: we can avoid this kind of situation, if we correctly design our libraries and their APIs so that we can *evolve* them later in binary compatible ways.
In this talk, we will first explain what source and binary compatibility are, why they matter, and when. Then, we will give practical advice on designing APIs that can be evolved in backward compatible ways, as well as recommendations for versioning libraries.
He dreams about a world where the Scala programming language is the default choice in the enterprise. He learned Scala by writing the compiler backend for it during his PhD at EPFL, back in 2004, and he was the first employee of Lightbend (formerly Typesafe). In nov. 2016 he co-founded Triplequote, with the mission to empower Scala teams through great development tools, starting with a parallel compiler. Iulian is a frequent speaker at conferences and actively contributing to several open-source projects.
Martin Duhem is a software engineer at Scala Center, where he works on compilers and developer tools.
Meet bloop and get more productive with Scala
Bloop is a command-line tool for fast edit/compile/test workflows with a focus on making you a more productive Scala developer. In this talk, I explain how developers can be faster at writing Scala code no matter what build tool they use (sbt, Maven, Gradle, Bazel), and how different instances of both build tools and IDEs alike can reuse bloop and benefit from a performance boost. Next, we’ll dive into several use cases and explain other Scala-related productivity tricks.
Guillaume is PhD student at EPFL working on Dotty, the new
Integrating IDEs with Dotty, the experimental Scala compiler
A great programming language should provide a great developer experience! This is why Dotty comes built-in with IDE support that is designed to be easy to use, robust and extensible. In this talk I’ll describe the technologies used to implement this. I will also describe some of the planned future improvements: ultimately, we would like the compiler to become much better at helping you write correct programs instead of just complaining when you make mistakes.
He is a developer at JetBrains, primarily focused on supporting scala.meta API in IntelliJ IDEA.
The new Scala macros framework in IntelliJ IDEA
The inner workings of metaprogramming frameworks in IntelliJ Idea, quirks and solutions by the example of the new Scala Macros.
Ólafur Páll Geirsson
Ólafur Páll Geirsson is a software developer at the Scala Center where he works on developer tools. He is the author of scalafmt and scalafix.
SemanticDB for Scala developer tools
SemanticDB is a data schema for semantic information about code. It can model many Scala language features that are relevant for developer tools, such as resolved names and type signatures. SemanticDB can be persisted and consumed in the form of protobuf messages, SQL or JSON depending on your application’s needs. The benefits of this data-driven approach include improved testability, interoperability, composability and performance.
In this talk, you will learn about the applications and limitations of SemanticDB. I will share my experiences using SemanticDB to build a wide range of experimental tools including linters, refactoring tools, language servers, online code browsers and documentation generators. Expect many demos.
This talk is suitable for a wide audience. Scala newcomers will take a sneak peek into new exciting tooling. Tool tinkerers will learn new ways to develop tools for Scala.
Jan Christopher Vogt
Author of CBT, co-author of Slick, former member of Martin’s Scala team, pragmatic functional programmer with an appreciation for simplicity and appropriate design.
CBT – fast and truly simple builds
CBT is a build tool for Scala with the prime goal of providing a stellar user and contributor experience. CBT is easy to learn because builds are expressed using vanilla Scala code that even Scala beginners can understand easily. CBT is lightning fast and convenient in interactive use. After 2 years of development CBT is ready to be used and many important plugins have been published. This talk shows you how to build a Scala project with CBT and explains how CBT’s simplicity is achieved.
Other sphere.it events
React.sphere.it is a conference focused on Reactive Programming and Reactive System Design. Now in its 2nd Edition, it’s a perfect opportunity to meet and share knowledge with experts in this field.
Data.sphere.it is a conference devoted to data-centric systems and the technologies making them tick. Whether it is data engineering or AI application challenges – they all fit well in.
Main venueThe Opera of Kraków Lubicz 48 31-512 Kraków
Code of Conduct
The following Code of Conduct is inspired by that from other prominent conferences such as ScalaDays or Scala eXchange.
ScalaSphere is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, nationality, age or religion. We do not tolerate harassment of participants in any form. Please show respect for those around you. This applies to both in-person and online behavior.
All communication should be appropriate for a technical audience,
including people of many different backgrounds. Sexual language, innuendo, and imagery is not appropriate for any conference venue, including talks.
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of staff immediately. If an individual engages in harassing behaviour, the ScalaSphere staff may take any action they deem appropriate, including warning the offender or expulsion from the event.
We expect all attendees to follow above rules during our ScalaSphere DevTools Summit.