I had the opportunity to present CRaSH, The Shell for the Java Platform at the JavaZone 2013 conference early September. JavaZone is held in Norway and this was my second participation in the conference: I presented a talk about portals a few years ago.
Until now, CRaSH was presented at “Tools in Action” or “Quickies” sessions at the Devoxx conference and the talk was designed as a series of four demos showing various aspects of CRaSH, resulting in a very visual and dense session. This time we had a full hour for presenting CRaSH. Therefore, the session was based on the existing session but with a more relaxed style including the beta features of the upcoming CRaSH 1.3.
It makes a lot of sense to widen the scope of CRaSH and provide support for more JVM languages. CRaSH 1.3 will allow integration of extra languages.
Improved Groovy Support
Until CRaSH 1.2 we focused on the Groovy language because it is the best dynamic language for Java developers on the JVM. Several iterations were necessary to provide the best Groovy support, and this version covers invocation of commands from Groovy and how to assemble them in a command pipeline.
REPL stands for Read–Eval–Print Loop, which is what you have in an interactive session with CRaSH. Until version 1.2, the only REPL is a language close to bash shell for invoking commands or creating command pipelines.
As CRaSH 1.3 is going to be polyglot, we now provide polyglot support for the REPL. The new REPL directive allows you to switch to other REPL implementations and we provide in this beta a Groovy REPL: in this mode you can type plain Groovy (it is similar to Groovy Shell) and most importantly you can use the improved Groovy support explained previously.
(The talk was recorded by JavaZone and you can watch it at the end of the post, along with the slides.)
A few words about the conference itself, JavaZone is still as good as it was five years ago. One peculiar aspect of the conference is the timing and organization of the lunch breaks: most conferences do classic lunch breaks resulting in condensed talks (usually between 40 and 50 minutes) and a pause with a buffet rush. JavaZone, instead, provides continuous food during the conference, ensuring that food rushes are avoided, and the talks are 1 hour long interleaved with 20-minute intervals. I really appreciated this format and I think it is beneficial for attendees and speakers.
CRaSH 1.3 will provide polyglot support with additional languages such as Ruby as main theme. The Groovy language support has been improved providing the best Groovy support so far. You can try CRaSH 1.3 already as beta versions are available on the Crashub site.