MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mathematica language issues

  • To: mathgroup at
  • Subject: [mg53098] Re: Mathematica language issues
  • From: "Richard J. Fateman" <fateman at>
  • Date: Thu, 23 Dec 2004 07:58:59 -0500 (EST)
  • Organization: UC Berkeley
  • References: <cqbh9b$4k4$>
  • Sender: owner-wri-mathgroup at

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."



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>>>>>>>

  • Prev by Date: Re: How to do Continued fraction of polynomials
  • Next by Date: Re: Re: Help on a recursive function
  • Previous by thread: Re: Re: Re: Mathematica language issues
  • Next by thread: Re: Re: Mathematica language issues