Boost logo

Boost :

Subject: Re: [boost] [git] neglected aspects
From: Topher Cooper (topher_at_[hidden])
Date: 2012-03-08 13:11:01


I've had only a limited opportunity to use git, but I recognized
something about it pretty quickly -- something which I think is behind
some of these strong differences of opinion.

Basically, git takes a different approach to project source control --
it "thinks" about the problems in a different way. To use it properly
you have to think the same way. When you do, the way to respond to a
particular situation is obvious precisely when it seems arbitrary to
someone thinking in more traditional terms, and documentation is clear
and helpful where those who haven't learned the new perspective find it
confusing and worthless.

What makes the problem worse is that the same word may actually mean
something subtlty but importantly different, while a new term is
frequently interpretted mistakenly as being "pretty much the same thing"
as a more familiar term.

Whether this new way of thinking is better, as the supporters claim, is
yet to be seen. Clearly, it is a barrier that needs to be taken into
account in any changeover, but which, I think, can be lowered with a set
of well documented procedures and scripts designed for the particular
repository design.

For those who want to pass through this kind of looking glass, the most
important advise is 1) Don't assume that you know what is meant by any
term or phrase, whether familiar or not; 2) Concentrate on descriptions
of "here's a problem and here is how you-could/we-did solve it"; 3)
Resist the temptation to assume people are doing something stupid --
always presume that people actually know what they are talking about
(sometimes they don't, of course, but even then they are likely to be
less stupid than it might appear and you'll usually learn more making
the same mistake than trying to avoid it).

I haven't, by the way, been able to cross the conceptual threshold for
git myself yet, but this is a pattern I have seen frequently in software
innovations -- the "symptoms" are clear, and -- worthwhile or not -- I'm
confident that there really is stuff going on that I don't understand
yet. The most relevant example to this group was back when almost
nobody had heard of object oriented programming and some of us tried to
promote it and explain just what it was ("Your making a big deal out of
nothing -- 'objects' are just data structures, 'methods', are just fancy
procedures, and its much more flexible to use cut-and-paste than
'inheritance'."). And, of course, this is pretty much THE forum for
"generic programming". Some other major examples I've seen is the "Real
Programmers use assembly language" battle and the "structured control
flow" battle (a battle so thoroughly won, that most younger prgrammers
don't seem to know the term or, even when they do, have any real concept
of the alternative; yes, I remember when "if ... then ... otherwise..."
-- not yet "else" -- was unusual in programming languages, or was
considered just some occasionally handy "syntactic sugar").

Topher

> On 7 March 2012 19:21, Robert Ramey<ramey_at_[hidden]> wrote:
>
>> Christopher Jefferson wrote:
>>
>>> On 7 Mar 2012, at 16:10, Philippe Vaucher wrote:
>>> This is the biggest problem with git -- there are a hundred tiny
>>> things to learn which are hard to find when you do not know what you
>>> are looking for.
>>>
>> This is a big problem with all software these days
>>
> More so with git than its rivals.
>
> _______________________________________________
> Unsubscribe& other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk