Relay Scripting is Unnecessary

I’ve spent two days now working on adding a scripting langauge to Relay, to come to the realization that it is unnecessary.

Every scripting language I’ve looked at is at least as verbose as Java, without the support of an IDE like Eclipse.

I’ve looked closely at Scala, Rhino, and Groovy. These languages all have a means of generating markup within the language, which would make them useful since they are all programming languages proper, that can fall back to being simple templating languages.

Except that XSLT 2.0 is a programming language proper, and it is starting to feel like I’m better off knocking out one off runners in Java, or creating one off extension functions and calling them from Saxon.

I’m going to try to get scripting going in Relay, so that it is there, but I don’t feel a pressing need for it, so I’ll procede with this as a back burner project. Asking questions, moving things forward as they get answered. You can follow my Relay Scripting Nodes on the Relay page of my new Engine Room MediaWiki.

In the mean time, it’s all SQL, XSLT 2.0, and Java. That’s a pretty powerful trio.

I’ve barkup up this tree before. I need to remember my decisions. I’ve decided not to adopt a scripting language because of debugger integration, because XSLT 2.0 does that already, because I can’t find one that is much more succinct than Java itself, because stopping and starting Jetty is not so painful.

UPDATE: And another thing…

The argument for adopting a scripting language is weakened when that scripting language does not already have a large base of relevant software to adopt. JRuby makes more sense than JavaScript, Groovy, or Scala, in that regard, in that order.

There are JavaScript libraries about, but I’m sure they are mostly browser JavaScript, nothing as compelling as the things found on Ruby Forge.

Scala still appeals to me because it is such a pretty language, with higher-order functions and what not, but I don’t know of any large base of Scala code to draw on.

Leave a Reply