ScalaSphere 2016

Few impressions from tooling developer

ScalaSphere: conference focused on technical problems and solutions

ScalaSphere was one-of-a-kind conference focused on Scala tooling. Those who expected presentations full of theory or maths, might feel disappointed — conference was dedicated purely to Scala tooling. “I’ve never been on such deeply technical conference” was often heard and I agree with those comments.

Quo vadis, Scala tooling?

After Eugene’s presentations at ScalaDays in Berlin and Amsterdam we put high hopes in Scala.Meta. It was presented as API over Scala AST designed to reuse library, plugins and macros between Scala versions or platforms. I know that some tooling developers started making plans like “if only we had Scala.Meta then we finally can make ‘this’ and ‘that properly’…”.

The only problem is that Eugene cannot make it work with current Scala AST what makes usages really limited. We can operate on AST but we lack information about types. We can modify AST (and this is relatively simple) but it won’t be reflected in generated byte code.

Eugene asked for help and inspiration, so:

SBT, the only choice

Everybody uses SBT, most complains about it but no one really knows it well. This is a sad true about build tools for Scala.

We probably cannot make SBT’s internals simpler but we can fix DSL and dependencies resolution (they both generated most of the complaints).
Alexander presented his coursier project addressing the latter problem but we are still waiting for solution for SB DSL…

..or YET another build tool for Scala

IDEless or almost IDEless as alternative for “heavy” IDEs?

Sam and Rory gave great talk about progress done in ensime — project that transforms your favourite editor (not only Emacs!) into the light IDE. Dave presented ideas that were even more radical about ‘IDElessness’ and he claimed they work.

A year back I couldn’t imagine developing Scala code without IDE. Today I am starting to believe that it is possible to effectively work on big Scala projects outside IntelliJ or ScalaIDE.

ScalaIDE, now we know why…

Iulian opened conference with his talk about beginnings and history of ScalaIDE. I finally heard explanation for many weird choices back in those days (like weaving inside Java model instead of creating new Scala one). This talk was a big warning to all tooling creators about dangers behind ‘let’s hack this and we’ll got that for free’ approach. There ain’t no such thing as free lunch so you will pay a price for all hacky designs.

Licensed under…

If you ever wonder what if you are open source or which copyright should be used, Sam’s the lightning talk is for you. I’ve never expected to get almost all required knowledge about licences and all law-related stuff from lightning talk!

VirtusLab

Virtus Lab company blog