I started looking at Scala a few months ago. I’m working my way through the new (draft) Scala book, Programming in Scala, available on the Artima website, at
So far I’ve installed the SDK and can compile and run some sample programs from the command line. The next thing is to get a development environment up and running. jEdit is OK. There’s an edit mode for Scala so you get syntax highlighting and there’s a command/console plugin so you can call the compiler and run programs. The SDK documentation is apparently out of date, since the location of the jEdit files is, on my machine, under
But it doesn’t give you a higher-level view, like a list of classes and their members, or navigation between classes, so now I’m installing the Eclipse plugin for Scala. I’ve never used Eclipse, and I feel this is going to be a big time sink; on the other hand, it I get over the learning curve I can probably build more complex applications within it just because I can visualize and navigate the structure. There’s also an early plugin for IDEA, which was abandoned for the time being by JetBrains, but seems to have been picked up by a Scala programmer in the last few weeks. There’s also an early NetBeans plugin which I took a quick look at. For now, what seems to make the most sense is just to use a good text editor and not fuss with plugins that aren’t that far along yet.I’ve read through the Scala Tutorial (the one for Java programmers) which is a useful read. The Scala docs can be downloaded from the website, at http://www.scala-lang.org/docu/index.html. There’s a brief introduction that’s pretty readable, hosted on Artima http://www.artima.com/scalazine/articles/steps.html. There is also a Scala Wiki with code samples at http://scala.sygneca.com/. Some of the code I found hard to follow at this point, but one example on JDBC was pretty good: http://scala.sygneca.com/code/simplifying-jdbc.A. Sundararajan has a great blog on various topics related to scripting/dynamic languages/jvm-hosted languages. A great read (and one of those blogs which is worth reading previous postings of). On Scala, he has a handful of entries, here’s a search result on the blog (search “scala”): Not sure that the search link will be good for long. Some entries of his In two parts, comparison with Java:
And on singletons in Scala
There are more resources popping up all the time. On IRC, you can follow the #scala group on freenode. The official mailing lists (http://www.scala-lang.org/community/) have been split (which I’m very happy for), so there’s now a language list, a debate list (advanced) and a users’ list (less advanced). A number of people are blogging; my favorite at the moment is the new stuff on Code Commit.