Friday, May 27, 2011

How to design and how to discuss

I really like this post by Linus Torvalds on the discussion about git and the default behavior of the git commit command:

http://article.gmane.org/gmane.comp.version-control.git/32843

I see these rich themes:
  1. Get the concepts right, and understand them.  Proceed from the concepts and the rest of the design will fall out right. Then the argument for the default behavior of git commit is that the "[git commit] behaviour is absolutely REQUIRED once you get the whole "git tracks content" logic".
  2. An argument that boils down to "I cannot imagine anyone doing that" is weak.  Linus calls this the "argument from incredulity".  Of course it disappears like mist in sunlight in the face of the counter-argument "The fact that you cannot see it doesn't change the fact that I use it all the time".
In a follow-up post, a classic:
I don't think people generally are all that stupid, and I think it's
actually counter-productive to try to basically lie about how things work.
It will just make it harder for people later.


    No comments:

    Post a Comment