[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: base

From: Óscar Fuentes
Subject: Re: base
Date: Wed, 25 Aug 2010 23:06:59 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> The teachable mental model was something you insistently asked for on
>> the first weeks of the transition to bzr.
> I may be misremembering, but I think I was asking something entirely
> different.

I will not be so foolish to argue with you about what you had in mind at
the time, but it looked like "I want to obtain the necessary knowledge
to *decide* what is the most effective way of working with bzr for me."
A good answer for that sort of request is pointing to a document
explaining the foundations of the tool, from which everything else
derives. If the foundations are simple and shallow enough, making easy
to draw conclusions applicable to real practice, it is a plus for the


>> Git has simple foundations and those are explained on several places
>> on the net. See for example
>> http://www.newartisans.com/blog_files/git.from.bottom.up.php
> Once again, this is internals, not something users should need to
> grasp to use the tool effectively.

You can use git effectively (for some reasonable definition of
effectiveness) without knowing those details. Knowing them helps a lot,
though. And they are not internal details, for the same reason that the
point, the mark, etc are not internal details for the Emacs user,
although you can use Emacs without knowing them.


> IOW, a "mental model" is rules of the game, they have nothing to do
> with the under the hood machinery that actually makes the game tick.

That document explains, precisely, the rules of the game, i.e. the model
that every git implementation must follow. If the actual implementation
resembles so much the model, is because it is so simple that the
implementation is almost immediate once you know the model.


>> Git is a simple model wrapped on a complex UI. Bzr is a complex model
>> wrapped on a deceptively simple UI. Changing the UI is easy (and there
>> are lots for git.) Changing the underlying model is almost impossible.
> I have no idea what is the underlying model in Bazaar, and I don't
> really care how complex it is, as long as its UI is simple enough for
> me to build my own mental model.  And as long as the UI is simple
> enough, I see no reason to change the underlying model.

And if a merge causes unexpected results, what would you do? Blame the

It seems that by "underlying model" you are referring to the
implementation. For me, the underlying model and the mental model are
the same.

> I can also tell you that after spending a year studying the display
> engine of Emacs, I think nothing can ever seem complex to me ;-).
> What I did learn during this year is that complex models are not
> necessarily bad or ugly or not extensible: look what I was able to do
> with the display engine without changing anything in its basic
> architecture and design.

I guess that most part of that year was consumed by the study of the
*implementation* of the display engine, not its model (unless you
learned the model by reading the implementation.)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]