I wonder if we could drop the language advocacy on the list. I think most 
of us understand the following:
   - TMTOWTDI = ease of expression
   - TMTOWTDI = maintenance nightmare, since other peoples' idioms will not 
be your own (Perl is the PL/I of the modern world in this respect)
   - No part of Subversion itself should be written in Perl
   - There is a need for Perl bindings to the Subversion library.
Now that we are all agreed, let's move on.
At 10:16 AM 02/03/2001 -0600, pohl wrote:
>While we're on the subject of language bindings, I'd like to ask if
>anybody here has considered how one would write a client class library
>in Java? Would it require maintaining separate implementations in
>Java of both Neon and libsvn_ra_dav of one didn't want to go the
>less-portable JNI route?
I think it depends on which libraries you are talking about.
Regarding the FS libraries, I believe that JNI is required in order to get 
at the Berkeley DB libraries. The bindings are created as part of the 
standard build from Sleepycat. Furthermore, given the portability goals of 
Apache and Subversion, I'm not sure how much more portability a pure Java 
solution would give you.
If your concern is for clients using the network layer, you probably don't 
want to require them to do any kind of compilation so you have to deliver 
Java bytecode and possibly (if using JNI) compiled binaries for each 
platform. So there is a real advantage to avoiding JNI on the client, in 
that you don't have to provide many different binaries.
If you want to avoid JNI you will need a library that talks DeltaV. For 
ease of understanding and reuse, it would probably be helpful if 
libsvn_ra_dav was reimplemented in Java as well, although there is no 
reason it would have to be. The Java client could just as easily call 
directly into the DeltaV library.
There are a number of projects that are developing WebDAV libraries in 
Java, such as Jakarta Slide http://jakarta.apache.org/slide/index.html, 
Websphere DAV4J http://www.alphaworks.ibm.com/aw.nsf/techmain/DAV4J, and 
WebDAV Explorer http://www.ics.uci.edu/~webdav/. Jakarta Slide even 
specifically mentions their intention to include DeltaV client support. 
None of them currently support DeltaV that I could find, though.
That is my take on it, anyway.
Received on Sat Oct 21 14:36:24 2006