Principles of developing applications in Scala

Principles of developing applications in Scala

Scala , a statically-typed functional programming language, has been on the market for almost 20 years. During that time, a couple of mainstream approaches have evolved when it comes to writing Scala code. These include using effect systems, techniques of asynchronous code execution, and leveraging various libraries and frameworks. While these approaches are quite diverse, there’s a set of principles that are shared among all of them. In other words, when writing applications in Scala, whatever your favorite stack, there are certain things you often do, and certain things you never do....

Published in softwaremill.com · by Adam Warski · 9 min read · August 18, 2023
Don’t fear the main(). Over the years, we

Don’t fear the main(). Over the years, we

Over the years, we — the Java/JVM community — have developed a fear of writing public static void main(...) by hand. We either managed to get rid of it completely by using application servers, or limited it to a crippled form when using Dependency Injection frameworks like Guice or Spring . Is it the right way to go? On the contrary. The main() method — following the dictionary definition — is, or rather should be, the “chief in size, extent, or importance; principal; leading” method of our program (well, maybe not in size!...

Published in blog.softwaremill.com · by Adam Warski · 5 min read · August 18, 2023