Home Developer Why Scala Is Our Programming Language of Choice

Why Scala Is Our Programming Language of Choice

Author

Date

Category

We truly love Scala. Scala has been one of the pillars of Codacy from the start. Joao, who has an Enterprise Java background, has loved the language from the beginning and we’ve since taught Scala to new people joining in the company.

So, Why Scala?

Initially, we wanted to have the expression power of dynamic languages without losing static type safety. We placed our bets on Scala and, judging from adoption rates, we believe this was a good decision. The type system is turing complete. This should say enough about its potential.

Scala has also helped us with hiring; typically, if someone is interested in working with Scala, they will probably be a good fit for us as a company. This is because a special spark in a engineer is needed for him/her to be curious and interested in working with new languages. Having said that, Scala is no longer a new language. Its adoption has been growing steadily and fueled by the big data movement and platforms such as Spark.

When defining Codacy’s architecture, we knew that the system we would have to build to analyze millions of lines of code per hour and would have to treat scalability, distribution and concurrency as first class citizens. We were already sold on Scala, since as I mentioned, we’ve been fans of the language for a long time. The process of choosing Play and Akka was simple: both are built for massive operations and have the backing of a strong growing company such as Typesafe. We treat every single operation as an immutable task for an actor. From parsing code, to dealing with code repositories, to applying code patterns to ASTs: everything is a task for us that we distribute to pools of actors. Akka excels at this job.

Now, we’re in a position where our current infrastructure demands further decomposition into services and that we break a monolith. Because we’ve modeled our system already in components, this has been easy from the architecture standpoint.

We are especially excited about the great work from the Scala team on Abide, Scala-Meta from Eugene Burmako and his team, and about the TASTY spec announced by Martin Odersky. It has many things we’ve been looking for to support customers interested in deeper code analysis.

Scala has been a great decision for us and it’s paying off in many ways.


Edit: We just published an ebook: “The Ultimate Guide to Code Review” based on a survey of 680+ developers. Enjoy!


About Codacy

Codacy is used by thousands of developers to analyze billions of lines of code every day!

Getting started is easy – and free! Just use your  GitHub, Bitbucket or Google account to sign up.

GET STARTED

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Subscribe to our newsletter

To be updated with all the latest news, offers and special announcements.

Recent posts

June Product Update: Bulk copy of patterns, new tools, and more. 🚀

Hi there 👋, If you don't receive our monthly newsletter, here's another chance to see what we've been up to...

A tale of four metrics

I’d like to share the story of a successful startup, whose engineering team more than doubled in the last year and how they used...

Automate Your Code Quality With Codacy – Website Planet

Jaime Jorge is a co-founder of Codacy – an automated code review that helps developers save time in code reviews and to tackle the...

May Product Update: Repository list, performance improvements, UX improvements, and more 🚀

Here are the product updates from May! This month we bring you new features, product improvements, and more interesting news to come. 🤩 We also...

April Product Update: New features and improvements, a recorded Codacy Analysis CLI webinar and more 🚀

Here are the product updates from April! This month we bring you new features, product improvements, a recorded Codacy Analysis CLI webinar we held,...