Do Nt

Sometimes, the correct response to "how do I" questions is, "Don't".


I think KentBeck has shown mastery of this. I have found it increasingly effective. -- AlistairCockburn


but if you just "dont" then you'll probably never, and miss out on a lot. if a child asks his/her mother "how do i" and the response is "don't" frustration and anger result, and an enormous lack of motivation and self-confidence. or am i understanding this wrong?? -- elisabeth.A.

You are understanding this wrongly. The point is relevant when someone asks - "How do I sort 3 million records on disk?" or "How do I cope with 6 million transactions per second?" The point is not relevant when someone asks "How do I learn Lisp?" [But in that instance the answer is clearly 'as quickly as possible', so it is still not relevant. ;)]


Under what circumstances is "don't" the correct response? I propose that it is only correct when you also have a better alternative that is easily implemented. If you cannot provide such an alternative, then saying "don't" leads to the frustration and anger result. There are many occasions, however, where the person asking the question must find a solution to their question regardless of how painful it might be. In those situations, if you don't have a good answer, the correct reply is "I don't know."


The meaning of "don't" on this page is closer to the ZenKoan? answer of "mu" [MuAnswer], which questions the question. The ironic answer "don't do that" is asking the questioners to examine their assumptions, perhaps by stepping back to ask a broader question or to reexamine the problem such that asking the question is unnecessary.

I agree that the simple answer "don't" can be frustrating. It should be an ironic prelude to deeper teaching. For example, ChuckMoore has been on a lifelong quest to pare his art of programming down to the bare essentials. As a ForthLanguage expert, he is often asked how he does particularly tricky things in Forth. Usually his answer is "I don't" without elaboration, causing frustration both at Chuck and at Forth. I'm sure, his pattern has afflicted ZenMasters? of all sorts through the ages.

"Afflicted" because it frustrates people? But there's more to it than that. Chuck has said that he doesn't know how to describe his technique of finding just the right Forth words to solve the problem at hand. You could call that Zen, and your comments about Zen above have merit, however the real problem here is that Chuck knows how to do something but doesn't know how to describe it, which is simply a matter of two different brain subsystems at work.

See the WikiPedia entry on this topic: http://en.wikipedia.org/wiki/Procedural_memory

I've been working on analysing the kinds of thing that Chuck does do, and have made a certain amount of headway, so I don't think that this is just some Zen thing that cannot and should not be put into words (although, again, yes, that does arise sometimes). In this case, it just hasn't happened yet.

The key issue for this page is about not doing things, of course, which is different. To make things fast, or simple, or elegant, a lot of the issue is leaving things out, which is true for prose as well as code.


DoSimpleThings, YouArentGonnaNeedIt, MuAnswer


EditText of this page (last edited September 15, 2004) or FindPage with title or text search