From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: base Date: Wed, 25 Aug 2010 23:06:59 +0200 Message-ID: <877hjefll8.fsf@telefonica.net> References: <20100822120642.GA1794@muc.de> <87bp8uzu9d.fsf@mithlond.arda> <871v9o7dmf.fsf@uwakimon.sk.tsukuba.ac.jp> <87wrrg5rzg.fsf@uwakimon.sk.tsukuba.ac.jp> <87r5ho5gyr.fsf@uwakimon.sk.tsukuba.ac.jp> <87hbij6hib.fsf@uwakimon.sk.tsukuba.ac.jp> <87k4nf7ezq.fsf@catnip.gol.com> <878w3v7dd2.fsf@catnip.gol.com> <83wrrfmljv.fsf@gnu.org> <87d3t75crc.fsf@uwakimon.sk.tsukuba.ac.jp> <87fwy2g7i2.fsf@telefonica.net> <83r5hmmrz0.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1282770462 28534 80.91.229.12 (25 Aug 2010 21:07:42 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 25 Aug 2010 21:07:42 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 25 23:07:40 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OoNC4-0004OI-Pe for ged-emacs-devel@m.gmane.org; Wed, 25 Aug 2010 23:07:37 +0200 Original-Received: from localhost ([127.0.0.1]:46184 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OoNC3-0005GE-Dq for ged-emacs-devel@m.gmane.org; Wed, 25 Aug 2010 17:07:35 -0400 Original-Received: from [140.186.70.92] (port=43997 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OoNBq-0005Fy-0V for emacs-devel@gnu.org; Wed, 25 Aug 2010 17:07:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OoNBo-00068W-Fe for emacs-devel@gnu.org; Wed, 25 Aug 2010 17:07:21 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:40425) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OoNBo-00068K-4s for emacs-devel@gnu.org; Wed, 25 Aug 2010 17:07:20 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OoNBf-00040r-Pj for emacs-devel@gnu.org; Wed, 25 Aug 2010 23:07:11 +0200 Original-Received: from 83.38.73.98 ([83.38.73.98]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 25 Aug 2010 23:07:11 +0200 Original-Received: from ofv by 83.38.73.98 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 25 Aug 2010 23:07:11 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 71 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 83.38.73.98 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:/8d4B1efk33FJyiJvbyazwfd4RY= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:129231 Archived-At: Eli Zaretskii 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 tool. [snip] >> 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. [snip] > 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. [snip] >> 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 UI? 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.)