Yesterday we hosted a meetup for the Belgian Scala User Group titled "Program Description Based Programming" by Luc Duponcheel. Now that we moved to our new office, we are excited to finally have the room to host 30-people meetups.
The BeScala meetup is an active group of Scala enthusiasts coming together about once every month. I have been attending the meetups since 2012 and have learned a lot about the language, the ecosystem and the community. Meetups go from very hands-on to rather academic.
Scala is a programming language with a broad audience, some see it as a better Java, others see it as a more enterprise friendly Haskell and some see it as a language to experiment with advanced type-level programming. Because of this mix it is always possible to up your skills or explore some specific angle a bit deeper. Martin Odersky, the creator of Scala describes it as "The name Scala stands for scalable language. The language is so named because it was designed to grow with the demands of its users. You can apply Scala to a wide range of programming tasks, from writing small scripts to building large systems."
At Waylay we use Scala for the rules engine and the data broker, these are the base components of the system that we are developing. If you would like to join the team working on those, we currently have an open position for a Scala Backend Software Engineer.
Interestingly, Luc's presentation was showing code written in "dotty" (http://dotty.epfl.ch/), a next generation compiler for Scala. Dotty can be seen as a breeding ground for Scala 3 and some dotty changes have already been merged with Scala 2.12.
His talk on program description based programming was inspired by the presentation John Backus' Turing award lecture. Luc showed how he implemented the discussed programming model using a point-free programming style, including different execution models and their implementations.This was a rather advanced subject, not that approachable for newcomers. He plans to go into some of the aspects a bit deeper in future meetups.
Check out the code for the talk on GitHub here.
We look forward to hosting more BeScala (and other) meetups at our offices!