[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: <kfogel_at_collab.net>
Date: 2004-11-27 00:01:01 CET

"Gili" <junk@bbs.darktech.org> writes:
> On the topic of porting Subversion, I did not mean to imply
> that the amount of work accomplished by the subversion project is
> trivial. I was simply stating that C++ and Java being close relatives
> in syntax makes it relatively easy to move between one language and
> the next. You really didn't have to get so defensive. There was no
> malicious intent in my post.

C++ and C are very different languages. Subversion is written in C,
not C++. Porting Subversion to Java would be equivalent to rewriting
Subversion from scratch.

I thought Max's response was pretty reasonable, considering what you
were proposing :-). He didn't think you had any malicious intent, by
the way, nor do I.

> On the topic of C being more portable than Java ("I think you
> will find C compilers are more widely available than JVMs"), that
> might be true but it is far easier to make Subversion work under
> different platforms when it is written in Java than under C. All the
> major and not so major platforms have a full-fledged JVM and making
> Subversion work across all of them is far more trivial than porting
> that same code using C. I don't think this argument is disputed by
> anyone.

I heartily dispute it, as do a large number of programmers I know,
including many who are experienced with both Java and C.

(Or rather, let us say I disagree with it. I certainly don't intend
to dispute it here, in the sense of arguing further about it.)

> On the topic of ease of development, I wasn't trying to imply
> that it is easier to develop under Java as a language than under C as
> a language. Clearly this depends upon the personal experiences and
> preferences of your development team. What I was trying to imply is
> that in the field of networking, XML and DBs there are awsome mature
> open-source Java libraries out there that would do this for you and
> ease your development. Stuff like Hibernate simply does not exist
> under C/C++ (as far as I know), there are many other such examples.
> On the topic of Hibernate, you wrote: "adapting Subversion to
> use Hibernate would be a fairly in-depth reorganization - i.e. no
> easier than implement than an SQL backend in C." ... Well, not
> exactly. Adapting Subversion to use Hibernate would be no different
> than adapting Subversion a new repository format that resides in an
> SQL database (as opposed to BDB which does not use SQL, to my
> knowledge). The major benefit of using Hibernate in Java instead of
> coding this in C is that once coded *once* against Hibernate, your
> code will fit on top of *any* database. Hibernate abstracts away any
> DB-specific differences so you can focus on the actual work. This is
> huge. You can stick Subversion on top of MySQL, PostgreSQL, DB2,
> SQLServer, etc... This opens a lot of doors for Subversion.

Gili, forgive my bluntness, but you are talking very glibly, like
someone who has not actually looked much at the Subversion code base
or dealt with Subversion development issues firsthand.

> My point is: there is a lot of value added in porting
> Subversion to Java. Yes it would require work, but there are also
> advantages there. Please consider them with an open mind and feel free
> to discuss them with me on this mailing list.

The "open mind" argument is rhetorically inoperative. There are an
infinite number of possible courses in the world. No one can consider
all of them with an open mind, because there is not time. One *must*
exercise judgement, or one will never get anything done. Here, as in
most open source projects, we depend on people to filter their
suggestions through their own good judgement first.

You clearly have zero experience with the Subversion code base. Yet
you were willing to post to Subversion's mailing lists and issue
tracker, suggesting that we rewrite the entire program in a new
language, using different libraries. What kind of response did you
expect? Did you think we had somehow not heard of Java when we
started the project?

As some wise soul once said, you want to keep an open mind, but not so
open that your brains fall out.


To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Nov 27 00:05:32 2004

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