Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!usc!apple!motcsd!xdos!doug From: doug@xdos.UUCP (Doug Merritt) Newsgroups: comp.sys.amiga.tech Subject: Re: Fonts and freeing memory Message-ID: <626@xdos.UUCP> Date: 21 Jan 90 16:56:38 GMT References: <1990Jan17.013417.20587@haven.umd.edu> <9001182253.AA18421@en.ecn.purdue.edu> Reply-To: doug@xdos.UUCP (Doug Merritt) Organization: Hunter Systems, Mountain View CA (Silicon Valley) Lines: 37 In article <9001182253.AA18421@en.ecn.purdue.edu> bevis@EE.ECN.PURDUE.EDU (Jeff Bevis) writes: > >I have obviously been using memory-destructive drugs. Indeed I was wrong... >and I apologize for spreading bogus myth.... I would rather change my previous >statement to the form of "using two if's instead of the && would be clearer >and less confusing" instead of what I did state. I don't mean this to be a flame, but that's not true either. This construct is called "short circuit evaluation", and is as much a hallmark of C as are, say, increment operators like "++i". It is *not* considered unclear to take advantage of this feature. Quite the opposite. It's true that features of a language which are not universally used in other languages can be confusing to new users of that language. But that doesn't mean they should be avoided. One should, in general, write code that assumes general fluency on the part of the reader, rather than trying to write code which assumes that the reader is a novice in the language. Doing so would mean wholly avoiding such language features, implying that there is something wrong with using them. There is not. As a matter of fact, this is an area in which C has been rather influential. As with the "++" operator, the short circuit evaluation feature has been adopted more and more widely in new languages. This is simply to stress that it *is* a feature. As with any design, one should not confuse novice usability (learning curve issues) with expert usability. By analogy, the Amiga's multitasking features have been confusing to learn to work with for programmers accustomed to non-multitasking systems like the IBM PC and the C64, etc, but that doesn't make those features bad. They were not confusing to programmers who were already accustomed to multitasking environments, particularly those who were used to message passing as well. It's just a question of which metaphors one has previous familiarity with. Doug -- Doug Merritt {pyramid,apple}!xdos!doug Member, Crusaders for a Better Tomorrow Professional Wildeyed Visionary