> Scala is the best language out there today for general purpose programming, FULLSTOP.
You have a very narrow view of what makes a good general purpose programming, it's not just about its syntax and its type system.
Scala suffers from a lot of hurdles that make it awkward to use in production and which lessen its productivity:
- IDE support, still very shaky, each new version of the plugin adding new features and breaking old ones, and the plugins randomly refusing to work now and then
- Tool support in general (it's sad that the best build tool is sbt, I was hoping we had learned from ant and maven that we can build better build tools)
- Slow compilation and getting slower at every release (memories of C++ and template linking)
- Backward compatibility still a problem. The compiler is a bit better now but the library story is simply a non starter for most production work
- And overall, the overwhelming impression that Scala is to Java what C++ is to C. It's a very big language that keeps getting bigger at each release, despite Typesafe promising they are working to fix that. They also promised that Scala development would no longer be driven by papers published at conferences, but that's a lie as well.
Also, some influential Scala people have been leaving Typesafe recently, and not in very good terms (e.g. Paul Philips, who was the guy keeping the releases together).
I just have a bad feeling overall about the future of such a language.
IDE support indeed has a ways to go, has improved a ton over the past 2 years, but still far from the rock solid Java IDE experience.
SBT is not simple, particularly for complex edge cases, but once you get your feet wet SBT is really quite awesome.
The notion that Scala compilation gets slower with every release is complete nonsense and is a clear indication of one who is not using the language. Scala 2.10 + SBT 0.13 combined with sub projects (modules) completely obviates the notion that Scala is "slow" since incremental builds are near Java speed (full builds, yes, much slower than Java, but for development, where you spend most of your day, working in Scala is relatively snappy).
Scala is Java++, fair enough, no complaints there.
> some influential Scala people have been leaving Typesafe recently
some is plural, other than Paul P what significant core Scala member has left Typesafe recently? Paul is a compiler addict, he may have "left" Typesafe, but look at his commits, he's still going strong, I don't think the guy can stop, he's obsessed.
> I just have a bad feeling overall about the future of such a language.
OK, leave it to those that use the language: wanting a language to fail is different than watching it succeed.
The IDE support is pretty good, I don't have problems with it. Ask the Clojure people how THEIR IDE support is ... sbt is a great build tool, better than ant or maven, pretty much the best I am aware of for any relevant language. The compilation speed is good enough for me, maybe you should upgrade your hardware. If you have compatibiliy problems, don't move to the new version. Wait until you have your issues fixed. You don't need to upgrade your Scala version immediately just because there is a new one.
As to Paul Philips leaving, what was he responsible for, and what were the "bad terms"?
I have a really great feeling overall about the future of Scala. This feeling is based on my 20 years programming experience with all sorts of languages, and Scala is the best one out there right now. The IDE support and tooling is far greater than for any other language that comes close to Scala. (When you code in Java, even the greatest tooling in the world will not help your productivity).
I've done my share of Clojure programming, and none of the tools you mention are usable in a serious setting. The only stuff I could use (and that was damn hard to set up in the first place, and is "deprecated" for a year now) was an Emacs based solution.
I think sbt is the worst of all the jvm build tools I've used. I'm still learning the scala community but it puzzles me how such a strong community with great leadership and pretty nice tooling (scala-ide) can produce such an underwhelming tool.
You have a very narrow view of what makes a good general purpose programming, it's not just about its syntax and its type system.
Scala suffers from a lot of hurdles that make it awkward to use in production and which lessen its productivity:
- IDE support, still very shaky, each new version of the plugin adding new features and breaking old ones, and the plugins randomly refusing to work now and then
- Tool support in general (it's sad that the best build tool is sbt, I was hoping we had learned from ant and maven that we can build better build tools)
- Slow compilation and getting slower at every release (memories of C++ and template linking)
- Backward compatibility still a problem. The compiler is a bit better now but the library story is simply a non starter for most production work
- And overall, the overwhelming impression that Scala is to Java what C++ is to C. It's a very big language that keeps getting bigger at each release, despite Typesafe promising they are working to fix that. They also promised that Scala development would no longer be driven by papers published at conferences, but that's a lie as well.
Also, some influential Scala people have been leaving Typesafe recently, and not in very good terms (e.g. Paul Philips, who was the guy keeping the releases together).
I just have a bad feeling overall about the future of such a language.