Eight years of Scala

It started as a love-hate relationship. Today, after almost eight years of writing Scala code, I think I’m ready to say that it’s one of the best JVM languages.

Coming from a Java background, my first taste of functional programming was in Haskell. Yup! That super scary language. It’s so concise that you barely have to write code :P. Back in the day I did some fairly hardcore Haskell programming and to this day I think everyone who wants to learn programming should learn Haskell just to understand the beauty of pure functional programming. The barrier to entry with Haskell is extremely high. It takes a while to become productive.

Now Scala on the other hand is very forgiving. Since it has the OO parts of Java and almost all functional concepts, it makes programming a joy. The more hardcore functional aspects need some external dependencies, but you probably don’t need those for the most part. There are some really hardcore parts of Scala that will make you very confused, but overall it’s probably the only JVM language that I really love. Clojure is cool, too. Here’s hoping Dotty and the future of Scala will make it even better and more widely adopted.

IDEs like IntelliJ have gotten better with Scala. The refactoring ability with Java code is so good with IntelliJ that a lot of day to day tasks become really easy. With Scala it’s a little harder, but it’s already pretty concise, so it should not be that big of a problem. It has definitely caught up compared to what it was in 2015.

If I was asked to pick a single JVM language to program in for the rest of my life while being stranded on an island in the middle of the Pacific, it will be Scala.

If I had to pick a single non-JVM language, it will definitely be Haskell. Although I have to spend some time to get up to speed :)

What would you pick? Cheers!