Hi, I wrote: > If 3 is implemented then the user may have thought a different > pretence would occur. After all, it's an arbitrary choice. Perhaps > he expects it will carry on just like his shell does.
This has overlap with DWIM, ‘do what I mean’, and Perl's TMTOWTDI, ‘there's more than one way to do it’. DWIM obviously gets one tied to chair. http://www.jargon.net/jargonfile/d/DWIM.html I'm a fan of Perl, programming a lot of it in Perl 4 and early 5 days, but having introduced it to a large site of engineers who did a bit of programming, I came to see TMTOWTDI as a problem. I could read all their code because I knew all the ways. They wrote in dialects by using different subsets, reducing re-use and understanding. Many saw TMTOWTDI as a problem. It's one reason why Python has boomed. Amongst its ‘import this’ Zen are Explicit is better than implicit. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. An empty HOME isn't explicit in its meaning, it's ambiguous, we shouldn't guess, and the obvious way of specifying the home directory is to set HOME to it. -- Cheers, Ralph.
