Why Scala? A look at introductory programming at Lund University


This article was written by Viktor Klang of Lightbend.

Recently, I was invited by Professor Björn Regnell at Lund University in southern Sweden—an hour from where I grew up––to give a seminar about one of my favorite topics: Scala––the programming language, platform, ecosystem and community that I am fortunate to have been a part of for the past nine years.

Prof. Regnell told me that they're starting to use Scala as the introductory programming language, and that they’d like me to come over to talk about Scala and Open Source Software—since they’re running the courseware as an OSS project.

When asked “Why Scala?”, Prof. Regnell replied:

Scala as a beginner language has many advantages from a pedagogical viewpoint, its regular syntax and semantics being one of the most important. Universities need to keep up with the progression into more powerful languages that can combine back-end and front-end competence evolution of current developers and the developers of tomorrow. I see great opportunity in the combo of Scala-JVM plus Scala.JS, in this respect. Also, good concurrency abstractions are absolutely vital for the future of the software industry on planet Earth, as increased clock speed has become an unfeasible escape.

Giving a seminar with a very varied audience of students, faculty and people from the industry, I wanted to make sure that everyone could follow along—challenge accepted!

Prof. Regnell checking projector setup

Despite having the first kernel panic on my newer laptop, running massively(!) over my allotted time, completely missing the coffee break, and showering the audience with terrible analogies—I had a blast! The audience of students, faculty members and people from nearby startup incubators and tech companies were fantastic—with tons of insightful and interesting questions.

One of the highlights was to see my old friend John Nilsson show up—he introduced me to Scala all those years ago (thanks mate!)

After the seminar, I was fortunate to have lunch with Prof. Regnell and Prof. Görel Hedin, PL researcher. We had some great conversations about distributed systems, the actor model, concurrency and much more.

Sticker found on one of the doors to the CS faculty of Lund University

Later in the afternoon, I had the pleasure of being interviewed by Johan Linåker, PhD-student in Open Source Requirements Engineering, for his research. I’m looking forward to see the dissertation!

Then I got to meet Jesper Öqvist, who is working on parallelizing the JastAdd compiler to talk about possible optimizations and opportunities to improve performance—it was a great conversation.

Last, but definitely not least, I got to meet Gustav Cedersjö, PhD-student in Embedded Systems & Actors. Having a conversation about the things I’ve been involved in over the past years, I’m curious to see what comes out of that research—stream processing, stream process fusion and more.

I want to thank Lund University for inviting me over, and I wish you a lot of fun and productivity with your new introductory programming language—Scala!