views:

287

answers:

2

What are your experiences with Scala tools currently used in production?

Given that Scala 2.8 has been out for over a month, I thought it would be a good time for an update on the status of Scala tooling, along the lines of these questions. I'd like to broaden the scope of the questions beyond IDEs, to include RAD tools (e.g. JRebel), build tools/compilers (sbt, Maven, fsc), and perhaps even frameworks (e.g. Lift, Play).

Furthermore, I want to focus on tools that are actually used in production, since casual use will not uncover all of the issues that arise in real development. Please limit your answers to tools with which you have production experience.

+3  A: 

For my part, I've used both IntelliJ IDEA and Eclipse with Maven. So far, my use has been limited to porting a production codebase from 2.7.7 to 2.8. IDEA appears to be the leader of the two, although I had to upgrade to the EAP version of the IDE when I switched to 2.8. The Eclipse plugin still has many spurious compile errors in my codebase and is not at all responsive. On the other hand, at least one developer I know of had better luck with Eclipse than with IDEA.

Another concern I've had has been compilation speed. With Scala 2.7.7 at least, IDEA was incredibly slow -- it routinely took ~30 seconds to run a Make, even after a minor change. As a result, I started using fsc via the Maven plugin's scala:cc goal, which reduced typical incremental compile times to 3-5 seconds.

Aaron Novstrup
+3  A: 

For me, I tried Eclipse and sbt (simple-build-tool). Eclipse seems to be a little bit unreliable. It reports errors which aren't really errors. Eclipse also took so much RAM in my laptop, it's going to be very slow if you're using an old computer (or anything with low RAM). sbt is less power hungry, but it doesn't have live error checking that Eclipse has (which isn't really reliable anyway).

Anyway, I guess you should give both a try! I guess it depends on the project that you're doing.

the_great_monkey
I've found "spurious" errors are usually fixed with a "Project | Clean..." It's not ideal, but figuring that out reduced my frustration level with the Eclipse plugin. Now if only there were a hotkey for that...
Rodney Gitzel