Vladyslav Pekker - My Scala Story
Let's celebrate Scala's 20th anniversary! Congratulations to all of the language contributors and enthusiasts - what a journey that is!
How did you first get introduced to Scala, and what did you think about it?
The year was 2010, and I was doing my bachelor's degree at the time. A professor of mine stumbled upon it and thought I would like it. Boy, oh boy, was he right.
Tell us about a moment when you realized, "Aha! Scala is awesome!" What Scala's features and capabilities made you feel that way?
Even though I came across Scala through my professor, I read "Programming in Scala - Second Edition" before the semester started. In it, I realized the significance of syntax in programming languages. Typically, syntax is not considered overly important, but the book emphasized that without convenient syntax, programmers might not opt for the most optimal implementation if the syntax to get there was too cumbersome. Therefore, a cool syntax here and there might not make a big difference, but a well-thought-out syntax from first principles will.
How has Scala influenced your approach to solving programming problems?
It didn't happen overnight, but over the years, it led me to think more in terms of types rather than values. We don't necessarily need to type everything to the max, but thinking in terms of types has certainly changed the way I solve problems.
If you could add a new feature to Scala, what would it be, and how would it benefit developers?
IMHO, Scala is not in desperate need of another feature, but here we go. I'm a big fan of exports in Scala 3. I just wish they didn't generate so much bytecode and also allowed exporting entire packages. It's currently not possible due to a limitation in the incremental compiler.
What is your favorite programming meme?
I have 2, and both of them are rather related to DevOps than programming.
Brilliant Dilbert comic. Hitting a little too close to home... pic.twitter.com/axDlwj7bYB— Daniel Dib (@danieldibswe) September 5, 2019
What are your go-to tools and libraries when working as a software developer?
- tapir (backed by zio-http, http4s or anything else as long as it’s functional)
- htmx with scalatags
- many others that don’t come to mind right now
Tell us about a time when Scala proved to be a game-changer in a real-world project
Most, if not all, of my experience comes from startups that had already chosen Scala before I joined. That said, I've witnessed a single hobbyist developer create and maintain a Play app for almost a decade in production without a clear sense of direction. It might sound like a cliché, but on several occasions, he claimed something along the lines of, "if it compiled, I shipped it." I'm paraphrasing, of course.
Did you have any hilarious or embarrassing moments while learning Scala?
I remember rereading the chapter of the “Programming in Scala” book about partially applied functions more than 3 times, because I didn't understand them.
What advice would you give to someone just starting with Scala?
Get a mentor, or at least follow a predefined path such as a book, a blog series, a video series, or a course. Scala is not an easy language to learn without guidance.
How have you seen Scala evolve over the years, especially in your field of work?
The tooling has improved massively (though there is still a long way to go). Incredibly powerful libraries have been developed. My own programming style completely changed from "FP solves problems that I don't have" to "FP solves all of my problems." Scala 3 is not without issues, but it's such a breath of fresh air.
What are your predictions for the future of Scala in the next decade?
As an optimist, I believe the future of Scala is bright. Our balance is still skewed towards theoretical research, but over the past few years the needle was moving in the rather practical direction. There's certainly a lot of work to be done, but we'll get there.
SCALA turns 20 years old !!!
And we surely know how to celebrate it! Follow #scalaversary on X and Mastodon and… join us at Scalar Conference 2024 for a Scala Fiesta. Get ready for two exciting days of learning about functional programming with a fantastic community. Meet experienced IT experts, make friends with people who share your interests, and discover valuable insights.
Grab your ticket here, and see you in March!