|Think about Loose Coupling|
... not having sufficiently good distributed source control systems ...
Agreed. I think that most if not all SC/VC software still have interfaces geared around the mechanics of what they do, rather than around the needs of the user.
For example, the need to go through a 3 stage process of setup to move existing code into them combined with the need to explicitly PUT after modifications.
A system that used the OS change notify mechanism to detect and record changes automatically could be so much better. Setup would be a case of telling it to monitor a subdirectory (tree) for changes. That's it. No copying involved, just a crc check of each of the files and register them for change notifications.
Anytime the file gets changed, it receives a notification and immediately records the deltas in the background; locking the file against writes until it is done. Reads (eg. compiler) continue whilst it works.
DARCS is meant to be good for the distributed side of things; allowing greater flexibility and less traffic for localised changes that only get merged if the need arises. I'll get around to checking it out one day.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.