river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bill Venners <bv-...@artima.com>
Subject Re: Concurrency and River
Date Wed, 03 Oct 2007 17:02:13 GMT
Hi Jeff,

On Oct 2, 2007, at 10:55 PM, Jeff Ramsdale wrote:
> I agree with much of what you're saying, but I wonder if by the end
> you were distracted by a number of interesting things you've been
> playing with lately. This thread started out about the marketing pitch
> that can be made for Apache River but ended up way far out of the
> mainstream.
> I think the idea of a distributed JUnit server is compelling (see
> http://www.jini.org/files/meetings/ninth/Cruisecontrol/ 
> Cruisecontrol.pdf)
> and could be a wonderful pitch for Jini. But if that introduction
> requires Scala and SuiteRunner it's no longer accessible to most folk
> and thus not effective as marketing copy. You do mention at the end
> that people could distribute JUnit tests, but that really needs to be
> the starting point if getting the gospel out is what we're going for.
> In other words, if Scala and SuiteRunner are better ways of doing
> things then I'm all for them, but you can't require them in pursuit of
> the goal of wide adoption.
I had forgotten we talked about this several years ago with regards  
to CruiseControl. How did your effort to distribute JUnit tests with  
Jini and CruiseControl work out?

Anyway, the assumption in your response seems to be that if something  
(such as Scala and SuiteRunner) isn't mainstream today that it will  
never be mainstream. If that's true in general there's not much point  
in trying to market Jini, because Jini isn't mainstream today either.

My situation is that unlike the old days when I could take a few  
weeks off full time to code up the ServiceUI API if I felt like it, I  
don't have time to do stuff today that Artima doesn't have a chance  
to make money from. I didn't really transform into a greedy person. I  
hired people. I have to meet payroll now and that really changes your  
perspective about what you need to do with your time. Some of you may  
miss the old me, and I do too honestly, but that's how it is these  
days. I have felt bad that I haven't had much time to contribute to  
this project, and have been on the lookout for ways I could  
contribute to River that also had potential to help bring revenue to  

The missing context in my previous post is that I've made a business  
bet on Scala. Artima will be publishing a Scala tutorial, and later  
possibly other Scala books, and offer other educational materials.  
And we're going to use Scala to write our software internally. I  
started rewriting SuiteRunner in Scala because I want to use it  
internally at Artima, and because I want to use it as a talking  
point, an example, to promote better software practice in the context  
of Scala at conferences.

What I realized yesterday is that with multi-core coming, if I  
architected the new SuiteRunner from day one as a Jini-based  
distributed system that can also scale gracefully down to one box,  
then I could also talk about Jini and JavaSpaces at those  
conferences, and help spread the word about River a bit while I'm  
spreading the word about Scala. I think that with multi-core coming,  
it honestly makes a lot of sense to architect SuiteRunner this way  
anyway. How would I parallelize tests if I didn't use JavaSpaces? I  
wouldn't even know where to begin.

SuiteRunner was always a JUnit runner. It runs JUnit tests. But that  
didn't help make it interesting to folks. Cedric Beust did get some  
uptake with TestNG because he kept adding features and tirelessly  
promoting it. But JUnit has improved since 1993, and I don't see a  
compelling reason for Java programmers to switch from JUnit even to  
TestNG honestly, and certainly not to the Java SuiteRunner. But the  
Scala community doesn't really have a de facto standard testing tool  
yet, and so I think there's a good chance I can get folks to use the  
new SuiteRunner. It is a smaller community than the Jini community,  
even, but to the extent Scala is adopted, SuiteRunner would then ride  
that wave. I do agree with you that SuiteRunner would need to  
continue to run JUnit tests as well, and also should be able to run  
TestNG tests, so people can hook their legacy tests into it if they  
start using Scala for writing tests.

Another thing that perhaps Artima could help with is I'd be open to  
publishing a Jini book if we could figure out a way to market it. My  
understanding has been that mainstream publishers won't touch Jini,  
and that there isn't even a book that describes Jini 2.0. Is that  
still the case? For example, a book focused on how to exploit multi- 
core processors with JavaSpaces might hit a nerve a year from now. So  
if anyone has a Jini book idea or an desire to contribute to one,  
please contact me privately.


Bill Venners
Artima, Inc.

View raw message