Where do you seen using Scala for your project?
I thought about using Scala in my project (trading server software — I especially like its Erlang-style actor model), but Scala still has some performance problems (I hope they will fix it soon). Otherwise, it's good (getting decent IDE support in IntelliJ IDEA).
I reimplemented vital parts of Scala actor model in Java, though. It works.
No.
When I looked at it the last time support wasn't where I needed it to be for some real world project:
- Good IDE support in IDEA and Eclipse
- Extensive documentation
- Solid user base
I don't think it is currently a responsible decision with respect to customer and coworkers, to use Scala. A tiny library that could easily be replaced by groovy or java if things turn ugly might be the exception.
Although I really like the combination of features in Scala, it doesn't seem to get real world traction.
I've played around with it some, but haven't found a good fit in our software (internal use business process stuff). I could see it possibly being a good fit with the scientific community though.
@Jens Schauder Scala IDE support has matured drastically since the last time you looked. We recently checked for Eclipse support and the plugin was awesome - it installed and worked seamlessly without a hitch.
I'd suggest you give it another go and leave a comment here or anywhere else on your experience. In fact, we have just finished a project based on Scala - it was an experience I must admit, but it was definitely worth it.
My advice is: get the plugin for the IDE of your choice and get a little non-critical project to try it out in anger.
Good luck :)
Well recently I looked at Scala programming language and my impressions were pretty similar to what I have for other functional programming languages. Scala does some stuff really well but it doesn't mean that I would choose it as my primary programming language in a project. It is terse and good for concurrency and hence I would like to use it for implementing a part of project where it suits well.
For example take Twitter. They were having scalability issues because their message queue in Ruby wasn't able to provide them with the required throughput - the primary reason being the way threading is implemented in Ruby and its GC. A very good interview to read is http://www.artima.com/scalazine/articles/twitter%5Fon%5Fscala.html. The Twitter developers talk about why they chose Scala and what issues did they face and why they feel that it was only suited to a part of their whole application stack.