Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Interview: David Roundy of Darcs Revision Control 173

comforteagle writes "In the aftermath of our last interview with Tom Lord, regardless of personalities, it became apparent that the idea of decentralizing CVS is a big deal. Many mentioned darcs as an alternative to Arch. Mark Stosberg has interviewed project head-hancho David Roundy about darcs, his 'theory of patches,' what's next, and on using Haskell for the project."
This discussion has been archived. No new comments can be posted.

Interview: David Roundy of Darcs Revision Control

Comments Filter:
  • by PhYrE2k2 ( 806396 ) on Thursday November 25, 2004 @01:23AM (#10916156)
    While "Darcs is written in a Haskell, a functional language that is relatively unknown compared to C or Perl", this really does hurt it's common use. Not being able to get a larger group of developers such as C, C++, or even some interpreted projects means that it becomes one or a few developers working on this project which means fewer patches and additions. A community project will ultimately be the versioning system for community projects. -M
  • by QuantumG ( 50515 ) <qg@biodome.org> on Thursday November 25, 2004 @01:26AM (#10916171) Homepage Journal
    So basically you didn't read the article. He gets more developers because it is written in Haskell than he would otherwise because it's one of the few real applications that are written in Haskell - which means if you're someone who just learnt Haskell for the hell of it you've got somewhere to apply those skills.
  • by Pseudonym ( 62607 ) on Thursday November 25, 2004 @01:43AM (#10916240)

    Just like how nobody uses CVSup because it's written in Modula-3, right?

  • by pnot ( 96038 ) on Thursday November 25, 2004 @01:58AM (#10916291)
    You wrote:
    While "Darcs is written in a Haskell, a functional language that is relatively unknown compared to C or Perl", this really does hurt it's common use.

    How will the choice of language hurt darcs's use? Why on earth would the users of a piece of software care about the language it's written in?

    You wrote:
    Not being able to get a larger group of developers such as C, C++, or even some interpreted projects means that it becomes one or a few developers working on this project

    From the article:
    I've been surprised by the number and quality of contributors darcs has had. There seem to be quite a few people out there just looking for somewhere to use Haskell! :) And in fact, there have also been developers who learned Haskell expressly for the purpose of contributing to darcs. It's such a pleasant language to work with that I think it's more of a draw to developers than a put-off.

    So perhaps you should attempt to assimilate some facts before trotting out your tedious, ill-informed prejudices, hmmm?

    Furthermore, it's not just about the sheer number of developers, it's about the power of the language. A million monkeys writing code are still only monkeys, and the more developers you have on a project, the more co-ordination is required (read Fred Brooks' The Mythical Man-Month if you don't believe me).

    If "number of potential developers" were the only criterion for choosing a project's programming language, everything would be written in BASIC. And Paul Graham makes a good case [paulgraham.com] for coding in less common languages: you'll get people smart enough to learn unusual languages for the hell of it, rather than a mass of monkeys who have little interest in building great software and just want to learn this week's marketable language to improve their employment prospects.
  • by cduffy ( 652 ) <charles+slashdot@dyfis.net> on Thursday November 25, 2004 @02:06AM (#10916322)
    Mighty vague, that. What instances is CVS better in?

    Compared to modern revision control systems, I don't think CVS is even in the running. It's SVN (in the non-distributed camp), and Arch, Darcs and Monotone in the distributed camp... with plenty of infighting between them.
  • by Mr. Slippery ( 47854 ) <.tms. .at. .infamous.net.> on Thursday November 25, 2004 @02:44AM (#10916441) Homepage
    Why on earth would the users of a piece of software care about the language it's written in?

    If your users are FOSS developers, they quite likely care about the ability to modify the tool, which includes caring about the languate in which it is written.

  • by Anonymous Coward on Thursday November 25, 2004 @03:11AM (#10916524)
    > the use of haskell eliminated it as a choice for me. I use
    > subversion instead,

    So... How many times have you made local modifications to Subversion, and how many patches have you submitted?

    Which language is Subversion coded in ...without looking it up?

    Thanks.
  • by Chuan-kai Lin ( 26774 ) on Thursday November 25, 2004 @03:59AM (#10916668) Homepage
    (arguments that Haskell will not cut it because it does not have a large user community)

    I have to say that I am troubled by this kind of attitude, especially on Slashdot. True, open source is mostly about freedom, but it is also about diversity, about innovation, and about trying to do things the right way. Since when do we condemn a project to failure just because it makes a non-mainstream choice, even if the choice was preferred by the developers due to technical superiority?

    How do you feel when PHBs assure you that bringing Linux into the server room is sure to fail because it is not mainstream like Windows?

    Since when do we let that stop us?

  • by Earlybird ( 56426 ) <slashdot @ p u r e f i c t ion.net> on Thursday November 25, 2004 @04:08AM (#10916700) Homepage
    • Let me summarize the "theory of patches": you reverse patches in the opposit order of applying them.

    No. Darcs can, and will, apply patches out of order. From the Darcs manual [abridgegame.org]:

    • The development of a simplified theory of patches is what originally motivated me to create darcs. This patch formalism means that darcs patches have a set of properties, which make possible manipulations that couldn't be done in other revision control systems. First, every patch is invertible. Secondly, sequential patches (i.e. patches that are created in sequence, one after the other) can be reordered, although this reordering can fail, which means the second patch is dependent on the first. Thirdly, patches which are in parallel (i.e. both patches were created by modifying identical trees) can be merged, and the result of a set of merges is independent of the order in which the merges are performed. This last property is critical to darcs' philosophy, as it means that a particular version of a source tree is fully defined by the list of patches that are in it, i.e. there is no issue regarding the order in which merges are performed.

    A distributed version control system that required all patches to be applied in order would be painful indeed to use.

    • I have to agree with many other comments: the use of haskell eliminated it as a choice for me.

    Why? Are you a Subversion contributor?

  • by curne ( 133623 ) <curne&curnomatic,dk> on Thursday November 25, 2004 @04:35AM (#10916801) Homepage
    It seems to me that a LOT of people in these comments are remarking that David's choice of Haskell makes darcs a no-go. I would make this comment:

    If someone told you to use <Tool X> for a project, you would say, "No way, <Tool Y> is more suitable for this job, and it's what I want to use." (substitute X and Y with whatever - C/Java/Perl/VB - you want).

    I think David chose what he felt was the best tool for the job, taking the problem-to-solve and his own expertise into consideration. In the light of Paul Graham's insights [paulgraham.com] I really think he should be applauded rather than criticised.
  • by Anonymous Coward on Thursday November 25, 2004 @04:46AM (#10916831)
    CVS works on all platforms
    ... for an appropriate definition of "works".

    CVS doesn't have atomic check-in, it's directory handling is crap, etc. etc. Still, like you said, it's probably still the best bet if you want to do development on both UNIX and Win32, although Subversion(!) is catching up fast.
  • Re:Darcs vs Svn (Score:3, Insightful)

    by jeif1k ( 809151 ) on Thursday November 25, 2004 @11:37AM (#10918144)
    You need to "learn Haskell and the theory of patches" to use darcs about as much as you need to learn C programming and diff algorithms in order to use Subversion, namely not at all.

"I've seen it. It's rubbish." -- Marvin the Paranoid Android

Working...