[Python-Dev] CVS / Subversion / language choice

Greg Wilson gvwilson@nevex.com
Tue, 18 Jul 2000 10:36:02 -0400 (EDT)


> > Welcome to CVS.  What did Greg Wilson say at IPC8?  Paraphrasing: CVS
> > is the worst tool everybody uses. :)

"CVS is the suckiest tool that developers have to use on a daily basis."
(It was actually one of my students at Los Alamos --- and it was one of
the few times there's been a round of applause in a class I've taught :-).

BTW, if you haven't seen Subversion:

    http://subversion.tigris.org

It's worth checking out (if only to see what's keeping Greg Stein off the
streets and out of trouble).  The project's aim is to produce a "better
CVS", i.e. fix some of the known warts, and web-enable it using WebDAV.
I like their goals (fairly conservative, but therefore also fairly likely
to be accepted), and their use of ASCII art in PDFs :-).

The thing that surprised me was their decision to do their first
implementation in C, rather than getting something together quickly in a
scripting language, and then re-writing modules for performance when/as
necessary.  I asked Brian Behlendorf about this; he said the reasons were:

> ...we're focusing on C in the short run is to take away any religious
> wars concerning python vs java vs perl - C, as crappy as it is, is
> still a pretty neutral language when it comes to deployment, as
> everyone has a C compiler but not everyone wants to install python.
> Also, the server side will mostly consist of an Apache plugin and a
> driver for the actual database format, so keeping it all in C and all
> in the same process is attractive.
>
> Also, the developers I've got working on it are very comfortable in C,
> and I'm trusting that they considered it and elected to just write in
> C directly.

These were pretty much the same reasons Larry McVoy gave me when I asked
him why BitKeeper was using C rather than a scripting language.  I'd be
interested in knowing whether this attitude is still the norm, or whether
there is evidence of a general shift toward the prototyping/filling-in
model.  I have a progress report to write for Software Carpentry, and...

(In the interests of conserving bandwidth, please reply directly; I'll
summarize and re-post if there's sufficient interest.)

Thanks,
Greg