Jevgeni has posted 19 posts at DZone. You can read more from them at their website. View Full User Profile

Scala Goes Dynamic with JavaRebel

  • submit to reddit

As a scalable language Scala can be used both for scripting and for large enterprise applications. We at ZeroTurnaround respect and support the vision of a statically typed and powerful language that builds on the Java platform to improve the productivity and maintainability of Java language.

One of the challenges to productivity is the failure of Java platform to provide a facility to reload changes to classes, i.e. exactly the problem that we solve with JavaRebel. Dynamic languages like Ruby tend to have instant turnaround, whereas developing Java web software is a constant cycle of redeployment.

At the Scala Lift Off unconference we met with the representatives of the Scala/Lift community and decided that we can facilitate the Scala adoption by putting its productivity on par with the dynamic languages. To do that we have created a special JavaRebel license that can only be used to reload Scala classes, which we donated to the Scala community for free use for a year. We will extend this license on a yearly basis to help drive Scala adoption.

We are currently discussing with the Scala and Lift communities the necessary licensing for embedding JavaRebel in Scala and Lift distributions, but until then you can just download the nightly build that includes support for Scala-only licenses and the free license itself (just put it in the same directory as javarebel.jar).

Using the free Scala-only JavaRebel license you can now evolve your application non-stop getting the powerful Scala static type system, higher-level abstractions and dynamic code reloading all in one package.

Published at DZone with permission of its author, Jevgeni Kabanov. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)