4 ms·
> Now you have exponential problems. Scala has less support, slower builds, and features Scala-devs are eager to abuse to make the code unreadable. Unfortunate
by esarbe 6y ago
> Now you have exponential problems. Scala has less support, slower builds, and features Scala-devs are eager to abuse to make the code unreadable.
Unfortunately, the Scala compiler is quite a bit slower than javac. In practice this doesn't hurt quite so much anymore; incremental builds make working even with large code bases quite snappy. Full-rebuild; get a coffee.
The build tools for Scala have _massively_ improved in the last 5 years. IntelliJ support is superb and VS Code with metals is shaping up very nicely.
I agree that since Scala is a unopinionated language, you need to be strict in what you allow your devs to do. Code reviews and agreements on levels of abstraction and concepts used is mandatory.
I've worked with multiple teams in the last 8 years and this discipline is important when working with Scala. Doing so will give you the opportunity to write clean, maintainable and readable code in a very powerful language.
- blandflakes 6y agoThe compile time is horrible, but improving, agreed. SBT is a serious travesty and I don't blame anybody who skips the entire language to avoid it.
- KptMarchewa 6y agoDoes scala compiler still does 25 or something like that passes? It won't ever be fast when doing this.
- esarbe 6y agoIt's still too many passes. https://scala-ci.typesafe.com/grafana/dashboard/db/scala-benchmark?orgId=1 https://scala-ci.typesafe.com/grafana/dashboard/db/scala-ben... The Scala 3 compiler has much fewer passes though.