Re: Mathematica language issues

*To*: mathgroup at smc.vnet.net*Subject*: [mg53098] Re: Mathematica language issues*From*: "Richard J. Fateman" <fateman at eecs.berkeley.edu>*Date*: Thu, 23 Dec 2004 07:58:59 -0500 (EST)*Organization*: UC Berkeley*References*: <cqbh9b$4k4$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

You pretty much miss the point. If you go into an elevator and press the button labeled "4" you expect the elevator to (eventually) stop at the 4th floor. If you press two buttons simultaneously, say "3" and "4" you would probably be OK with one of these outcomes. 1. Only 3 lights up 2. Only 4 lights up 3. Both 3 and 4 light up 4. Neither lights up. You would not be happy if, for example, the elevator stopped half-way between the floors, or if it blew up. This is the case even if pressing two buttons simultaneously does not have any practical importance. Good programming languages and systems should not behave in arbitrary, inconsistent, and apparently inexplicable fashion -- (that is, There are behaviors that may seem inexplicable to the naive -- but they can be explained eventually.) You say this over and over. "the program does X. the program has no bugs. the behavior X is a feature." I encourage you, once again, to read a book on programming language design principles. Tell us if you find one that says "This statement is legal, but not important, so we can do something random." Regards. RJF Andrzej Kozlowski wrote: > I think most people this entire discussion does not have any practical > importance. Obviously something like this: > > > 2*Unevaluated[1+1] > > > 2 Unevaluated[1+1] > > is extremly unlikely to have any practical use. <<<<<<big snip>>>>>>>

**Follow-Ups**:**Re: Re: Mathematica language issues***From:*DrBob <drbob@bigfoot.com>