Scala Works

Scala Rosetta Stone

This page is aimed to help developers coming from another language to understand to project structure and tools for Scala.

It's currently a work in progress, and portions are incomplete. Contributions are welcome if you want to add some helpful tips about $LANGUAGE => Scala.

Build Tools

Scala is a compiled language, and we will talk about three build tools:

In Scala, the build tool typically manages your project dependencies.


There are generally three big options for writing Scala, where actionable feedback from a compiler is given:

IntelliJ has a wide offering of IDEs for many languages. If you use one of their other ones, then Idea (Community Edition) would likely be a great choice for you.

If you are already familiar with VSCode, then it is a great option for Scala as well! This editor via lsp with the metals plugin.

If you use vim/emacs/other, then you probably want to follow along with the info about VSCode and metals.

Coming from NodeJS

This section tries to help map concepts from NodeJs/Typescript projects to Scala.