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 generally will talk about three build tools:
sbt
mill
scala-cli
with sbt being the dominant one.
In Scala, the build tool typically manages your project dependencies.
IDEs
There are generally three big options for writing Scala, where actionable feedback from a compiler is given:
- IntelliJ Idea
- VS Code
- vim/emacs/other text editor
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.