[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Port Subversion to Java

From: Gili <junk_at_bbs.darktech.org>
Date: 2004-11-26 22:06:42 CET

        Oh buhjesus!

On Fri, 26 Nov 2004 13:46:13 -0700, Fewster, Robert wrote:

>> This is a continuation of a discussion started here:
>> http://subversion.tigris.org/issues/show_bug.cgi?id=2141
>>
>> I will quote it for the benefit of everyone (read it
>> from bottom up). My response follows (before I quote the
>> original post):
>>
>> Ok, ouch, that was harsh :) Max, I am sorry for posting
>> in the wrong place but I am new to all of this and
>> there is such a thing as newbie mistakes. Sorry again.

>Newbie'ness aside, to suggest to a development team that they
>should move their development efforts to different platform is
>just plain rude IMHO.

        I suggested a *port* of Subversion to Java. I never suggested you should stop developing Subversion in C if
you so wish. I simply pointed out that there would be benefits to such a version. Why are you guys being so touchy?
This is supposed to be an open-source project right? It's not like I've criticized you or anything. I was simply
proposing an idea!

>Subversion is written in C, not C++... that makes them significantly
>different in syntax. In addition, the semantic differences
>between a interpreted garbage collected language and compiled
>language would involve re-designing many parts of the application.

>C compiler support is more robust and stable on more platforms
>than JVM's are at this point in time. The promise of Java
>portability remains just that - a promise.

>It may well be fullfilled, but it hasn't been just yet.

        I can see you have very little or no background in Java. Java is not an interpreted language -- it was 10
years ago, but not today. On the topic of stability, I've used two different JVMs on four different platforms and
have never experienced any problems with them. At all. Moving from C to Java would not require a redeign as much as
dropping components in Subversion that would be unnecessary under Java (taken care of by the JVM). I'm not trying
to insult C or your developers at all. I for one have been coding for over 15 years now, over five years in C (and
I still do today) but I also have strong experience with Java as well. Being in such a position, I am simply trying
to suggest that is value added in such a port.

>There are considerably more libaries in C and C++ than there are in
>Java, and they are likely more mature because they have been the
>building blocks for *nix variants for 10-20 years before Java was
>even a gleam in James Gosling's eye.

>(for example, the APR which Subversion uses to such good effect)

        Things like APR come for free as part of the JVM. Other things like network communication, XML parsing and DB
interaction are simply better designed in all the Java variants I've seen over the years. True there are many good
C/C++ libraries out there -- Boost for C++ if you want to name a few -- but for the specific niche that is
Subversion there are really good libraries out there in Java.

>SQL compliance is not an advantage for the operations that version
>control systems typically need to do on the data they manage.

        I know. But the advantage is being able to plug in any database under Subversion so its capabilities can
range from small home systems to large systems with thousands of users. Databases range in capabilities and being
able to plug in different ones (with no cost to you) is a great thing.

>Could also argue that writing something -like- Hibernate in C
>that does the same thing would also open the same doors. It
>just wouldn't involve rewriting the rest of the application.

        That is true, except that Hibernate is a very complicated beast (to build, not to use) and why reinvent the
wheel there? This is a great library, all you need to do is go out there and use it.

>I feel your argument supporting rewriting Subversion in Java is
>weak. I don't concur that the advantages outweigh the effort
>involved, nor are there any inherent benefits from the Java
>community and infrastructure that aren't also present in the
>C/C++ community.

        I value your opinion. I hope you take the time to investigate the points I have brought up. Part of me feels
that I am getting a lot of resistence here because the Subversion developers I have talked to so far aren't
experienced with Java development at all. Trying to argue with people to change their habits is not an easy matter;
but it also does not invalidate my points :)

Have a good day,
Gili
Received on Fri Nov 26 22:09:18 2004

This is an archived mail posted to the Subversion Users mailing list.