Aside from just the port itself is the following quote from the project's readme:
"BankSimple's stack is also multi-lingual, using Scala, Clojure, and JRuby. It's important for our development efforts to have a plays-well-with-others project where code can be shared between languages. We think that JVM language crosstalk is going to be a major asset for us moving, and increasingly you see other companies talking about similar experiments. Maybe we're on to something. Clothesline is a way of finding out."
Obviously, some of banksimple's technical people have a history of dabbling in multi-language systems but this sort of intentional crosstalk experiment is very interesting
We think so. It's actually sort of a strange world. The industry so trained and experienced with the sort "send it through an awkward C interface" school of inter-language communication that there isn't really a lot of talk (in the industry) about what happens when you have lots of languages on a single language runtime.
I'm betting that it's going to be superb. Our FE guys can work with jRuby and their web framework of choice. Our Scala fans can use Scala, and Clojure can do what it's good at in our stack. All of them can talk (with a bit of care) and seamlessly integrate java libraries. Every time we're discussing architecture I find myself needing to remind myself that this is possible.
I've been wondering about this for a while now, glad to see someone doing it on a large scale, will look forward to seeing how it works out. Hope you guys do some blog posts on it eventually.
On a side note, what do you guys think of the recent brouhaha with Oracle and ASF? Any concerns related to the future of the JVM?
This is interesting and I think you're right that language interop will be important. I think .NET has a CLS (common language specification) profile that defines a minimal subset you can design your API against and be confidant the other languages will be able to call your API. For example, VB symbols are case insensitive or something like that -- the CLS checker will complain if you design your API in C# with overloaded methods of different case.
Does the JVM need some least-common-denominator thing like this?
I just remembered -- the JavaFX stack is being rewritten as a language agnostic API. I wonder how they are designing that API.
I'm really happy that people are following WebMachine's example in providing a framework that guides you in how to do http from a high level, instead of just providing access to the low level guts. Looking forward to seeing how Clothesline evolves.
"BankSimple's stack is also multi-lingual, using Scala, Clojure, and JRuby. It's important for our development efforts to have a plays-well-with-others project where code can be shared between languages. We think that JVM language crosstalk is going to be a major asset for us moving, and increasingly you see other companies talking about similar experiments. Maybe we're on to something. Clothesline is a way of finding out."
Obviously, some of banksimple's technical people have a history of dabbling in multi-language systems but this sort of intentional crosstalk experiment is very interesting