I haven’t written about Scala in a while. Here are some updates.
- I’m working on an RSS aggregator designed for browsing thousands of feeds. I’m implementing it as a desktop application using SWT and JFace. I plan on releasing several components of it independently for use in other applications.
- Phillip Haller is continuing to work on the actors library, adding a notion of futures, which I don’t really understand, but it’s probably pretty useful if you do. The actors library is kind of a wild frontier and I don’t get how to use it. Supposedly a tutorial is in the works but knowing how the LAMP people document things they’ll probably spend 90% of it talking about how it was implemented rather than how to use it.
- A web framework is in the works and will be released quite soon. Many other people have bits of Scala web programming code they intend to polish off in a releasable form, including code that has been used for real, heavy client work for over a year (not bad considering Scala was only an idea for a new language 5 years ago). When the unreleased web code becomes available I will be on it like stink on poop: screencasts and tutorials lie ahead. I will raise hell if things get too design-y/enterprisey in any Scala web code.
- Steady incremental releases of both the main Scala distribution and the Eclipse plugin continue.
- The Scala mailing list is sufficiently active that Martin Odersky has considered splitting it off into a low-volume mailing list for announcements only (which I suppose is what the Scala list initially basically was) and a higher-volume list for the kind of chatter that occurs normally (e.g., me struggling to figure out code using asynchronous message passing).
Thought leaders like Martin Fowler, Bruce Eckel, and Dave Thomas who tend to be early adopters of new agile technologies continue to not really notice Scala (although Eckel wrote a brief blog entry mentioning it). If we can get a good web toolchain in place, improve the Eclipse plugin, and add mock objects to SUnit/Rehersal, I don’t think they’ll have a good reason to continue ignoring it as an option for Java developers looking for something more expressive but don’t want to leave the JVM behind.
Afterthought: We also have an IRC channel, #scala on Freenode (irc.freenode.net). There’s currently 13 people in there, so it’s definitely growing.
Afterthought 2: I ran some crude tests for benchmarking event-based actors as per Joe Armstrong’s concurrency challenge where you set up a ring of processes and send a simple message around the ring
times, and basically event-based actors in Scala scale like a motherfucking demon. Details here.