Blog
This weekend I was at ScalaMatsuri 2017, the largest international Scala conference in Asia, which I have been lucky enough to attend for a few years now. The videos are available at https://freshlive.tv/search/Scala. As they left the video recording all day, you should fast-forward to the various presentations. There is always a lot of interest going on there, but a few things seemed to stick out to me this year:Functional Programming
The state of Dotty, the next-generation Scala compiler,
the next-generation Scala compiler. Guillaume Martres (EPFL) explained the new, experimental compiler for Scala, Dotty (http://dotty.epfl.ch). Union, intersection and literal singleton types along with faster compile times are what I am most looking forward to but there is a lot more there. I was pleasantly surprised to find out how easy it is to try it out. (https://freshlive.tv/tech-conference/83829 about 3 hours into the video)
Using Deep Learning for Recommendation
Eduardo Gonzalez introduced different ways to use Deep Learning for recommendation systems using DeepLearning4J and Scala on GPUs. His honesty around the challenges, and there can be many challenges getting to a good model, was refreshing. I alway enjoy Eduardo's presentations and am consistently impressed by his presentation skills in Japanese. (In Japanese https://freshlive.tv/tech-conference/83835 around 5 hours and 38 minutes into the video).
Meta-program and/or shapeless all the things!
Scala.meta seemed to be very popular topic this year, perhaps because scalameta 1.6.0 was released just before the conference. Chris Birchall gave some good examples of implementing a “def macro” and a macro annotation, how to use scala.meta (which Devon went into more detail in on Sunday), the next generation of Scala metaprogramming and when when you should NOT use a macro as well as when to use Shapeless. (https://freshlive.tv/tech-conference/83829 about 5 hours and 2 minutes into the video)
Coding in Scala Native
Denys Shabalin (EPFL) took us through the development of a simple game using Scala Native and on the way explaining the basics of how to interoperate with native code. It was impressive both how far along Scala Native has come and the start up times when you are not using the JVM. Having said that if you are interoperating with C or C++ libraries there is no way you are going to get around having to know C or C++ and a certain amount of verbosity for the interface.
This article is licensed under a Creative Commons Attribution 4.0 International license.