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
Artima.
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.
Thanks.
Bill
----
Bill Venners
President
Artima, Inc.
http://www.artima.com