Scala appears extremely bloated for a first-time user

That’s because a project definition in SBT is itself a Scala project and that can be nested several levels deep: sbt Reference Manual — Organizing the build Where I work, we actually exploit that for automatic dependencies resolution (i.e. I wrote some sbt plugins that require recursive project definitions).

It looks like these streams are used for debugging purposes, when build fails: sbt Reference Manual — Tasks

Usually the files that are produced from your source code and that are going to be needed when deploying your application are located in target/classes folders.

sbt is the counterpart of Maven. The counterpart of javac is scalac. scalac is included in standalone Scala package. You can download that using e.g. coursier Single command Scala setup - Alex Archambault or by using link at the bottom of Redirecting… :

The (big) disadvantage is that scalac alone won’t help you with dependency management and lots of other stuff related to building projects. Therefore I recommend to stick to sbt, just like Java programmers should stick to Maven rather than invoking javac themselves.

1 Like