

More thoughts on switching back to Java from Scala - Adrock
http://beust.com/weblog/2011/02/23/from-scala-back-to-java/

======
pragmatic
I built a small game engine in Scala. Coming from C#, I felt right at home,
many of the advanced features of C# transferred over. All in all, I had a
pleasant experience.

The issues:

\- The tools aren't ready for primetime.

Scala is a very complex language. I can only imagine the man hours needed to
develop a IDE that _really_ understands Scala.

\- Scala's Complexity

Most of the time, I could handle this alright. But sometimes the sheer number
of possibilities was daunting. It seems like the features and libraries need
to be culled. Possibly it's just the result of trying to blend OOP with
Functional programming.

What surprised me the most is - most of the time it worked. I think I would
still pick Scala over Java. Especially with better tooling support.

------
curtis
IDE support is certainly a major problem with Scala development right now, but
it's not the biggest one. By far the biggest problem is how incredibly slow
the Scala compiler is. My project has a whopping 10 Scala files. To recompile
them after a one line change takes something on the order of 26 seconds.

It is possible to reduce this time down to 4 or 5 seconds using fsc (the Scala
daemon compiler), but getting fsc to work reliably with Maven is a problem I
haven't solved yet. Even 4 or 5 seconds for a one line change to a project
with 10 files is just _wrong_. What, are we back in 1992?

~~~
whakojacko
"It is possible to reduce this time down to 4 or 5 seconds using fsc (the
Scala daemon compiler), but getting fsc to work reliably with Maven is a
problem I haven't solved yet"

Have you looked into sbt? It has nice iterative complication support, among
other things. It is (IMO) far superior to work with than ant or maven.

~~~
curtis
This particular project seems to be pretty heavily invested in Maven, so
migrating might not be very easy. At least as importantly, it's not really my
project.

------
michaelcampbell
Ah, Cedric. While I generally enjoy his blog posts, his anti-(everything but
java) stance is wearing a bit thin.

~~~
tristan_juricek
That's not entirely fair; he's been consistently critical of Scala, but seems
to like Fantom.

While he may have added that note at the bottom of this article, I swear I've
read that opinion of his more than once.

